c语言猜数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言猜数字相关的知识,希望对你有一定的参考价值。

c语言猜数字1.随机产生1-100之间的数;2.猜错的话进行区间更改3.10次错误退出程序
例:电脑随机40;
猜第一次70;
提示大了请猜1-70之间的数;
猜第二次20;
提示小了猜20-70之间的数;

#include<stdio.h>
#include <time.h>
#include <stdlib.h>

int zishu;
int min=1,max=100;
void jieshou()

printf("请在%d到%d中输入您猜的数:",min,max);
scanf("%d",&zishu);
if(zishu<min||zishu>max)

printf("\n对不起,您输入的数不合法,请重新输入!");
scanf("%d",&zishu);



void main()

srand( (unsigned)time( NULL ) );
int suiji=rand()%100+1; //产生随机数
int cishu=0;

jieshou(); //接受用户猜的数

while(cishu!=10)

if(zishu>suiji) //判断

max=zishu;
jieshou();

else if(zishu<suiji)

min=zishu;
jieshou();

else

printf("您真牛逼!!这样也能猜对!!");
break;

cishu++;

if(cishu==10)
exit(0);
参考技术A c++的你改一下输入输出就好了
#include <iostream>
#include <time.h>
using namespace std;
int max(int a,int b)

    return a>b?a:b;

int min(int a,int b)

    return a<b?a:b;

int main()

    int a,b,m1=1,m2=100;
    srand(time(0));
    a=(rand()%100)+1;
    cout<<"请猜1~100的数"<<endl;
    while(cin>>b)
    
        if(a==b)
            break;

        if(a<b)
        
            cout<<"猜大了,";
            m2=min(m2,b);
        
        if(a>b)
        
            cout<<"猜小了,";
            m1=max(m1,b);
        
        cout<<"请猜"<<m1<<"~"<<m2<<"的数"<<endl;
    
    cout<<"猜对了"<<endl;


没调试,大概是对的、、
以上

c语言猜数游戏编程

由计算机 " 想 " 一个四位数,请人猜这个四位数是多少。人输入四位数字后,计算机首先判断这四位数字中有几个数字是猜对了,并且在猜对的数字中又有几位位置也是对的,将结果显示出来,请人再猜,直到人猜出计算机所想的四位数是多少时为止。
拜托二楼,一看就不对嘛。

在VC 平台测试通过。
#include"stdio.h"
#define MAX_NUM 4
#define TRUE 1
#define FALSE 0
void main()

int i,j;
int guess_num[MAX_NUM];//随机生成四个数
int input[MAX_NUM];//用户输入四个数
int pos_same = 0;//位置相同个数
int num_same = 0;//数字相同个数
int correct = FALSE;//判断输入是否完全正确

//随机生成四个0到10之间的数
for(i = 0;i<MAX_NUM;i++)

guess_num[i] = (int)rand()%10;

for(i = 0;i<MAX_NUM;i++)

printf(" %d",guess_num[i]);

printf("\n");printf("请输入四个0到10之间的数\n");

while(!correct)

//输入四个数
for(i = 0;i<MAX_NUM;i++)

scanf("%d",&input[i]);

//获得位置相同的个数
for(i = 0;i<MAX_NUM;i++)

if(input[i] == guess_num[i])
pos_same++;

//获得与随机数相同的个数
for(i = 0;i<MAX_NUM;i++)

for(j = 0;j<MAX_NUM;j++)

if(input[i] == guess_num[j])

num_same++;
break;



if(i>0)//判断与之前的数字是否相同

for(j=i;j>0;j--)

if(input[i] ==input[j-1])

num_same--;
break;




printf("数字正确个数: %d \n位置正确个数: %d\n",num_same,pos_same);
num_same = (num_same ==MAX_NUM)?num_same:0;
pos_same = (pos_same ==MAX_NUM)?pos_same:0;
if(pos_same ==MAX_NUM && num_same ==MAX_NUM)
correct = TRUE;

printf("你猜对了!\n数字就是");
for(i = 0;i<MAX_NUM;i++)

printf(" %d",guess_num[i]);

printf("\n");

参考技术A 我以前写的一个,你看看行不行,不过这个只能猜7次。
while(A!=4&×!=7);这一句是:while((A!=4)&&(times!=7))不知道为什么一发出去就变样了...
#include <stdlib.h>
#include <stdio.h>
void voice()

sound(3000);
delay(30*3000);
nosound();

void main()

int n[4],ig[4],gu[4],times,A,B,i,j,k,str;
char g[15],x;
do

randomize();
n[0]=random(10);
for(i=1;i<4;i++)

j=i-1;
n[i]=random(10);
while(j>=0)

if(n[i]==n[j]) n[i]=random(10);
else j--;


times=0;
do

printf("Please input 4 numbers between 0 and 9:\n");
do

gets(g);
str=0;
i=0;
while(g[i++])
str++;
if(str!=4)

voice();
printf("ERROR:The length you input is wrong!Please input 4 numbers!\n");


while(str!=4);
for(i=0;i<4;i++)
if(!(g[i]>='0'&&g[i]<='9'))

voice();
printf("WARNING:The number you input maybe have some wrongs!\n");
break;

for(i=0;i<4;i++)
ig[i]=(int)g[i]-48;
times++;
A=0;B=0;k=1;
gu[0]=ig[0];
for(i=1;i<4;i++)
for(j=i-1;j>=0;j--)

if(ig[i]==ig[j]) break;
if(j==0) gu[k++]=ig[i];

for(i=0;i<k;i++)
for(j=0;j<4;j++)
if(gu[i]==n[j]) B++;
for(i=0;i<4;i++)
if(ig[i]==n[i])

A++;
B--;

printf("%dA%dB the %d time\n",A,B,times);

while(A!=4&×!=7);
if(A==4)

printf("How clever you are!The answer is:\n");
for(i=0;i<4;i++)
printf("%d",n[i]);
printf("\n");

else

printf("You are lost!The answer is:\n");
for(i=0;i<4;i++)
printf("%d",n[i]);
printf("\nTry again!\n");

printf("Go on the game?(Y\\N)\n");
scanf("%c",&x);
system("cls");

while(x=='Y'||x=='y');
参考技术B #include "stdio.h"
#include "stdlib.h"
#include "time.h"
void main()

int i,m,n;
srand(time(NULL));
i=1+(int)rand()%100;
for(m=5;m>0;m--)

printf("请输入你认为的值:");
scanf("%d",&n);
if(n>i) printf("对不起 你输入的数字太大了,你现在还有%d次机会.\n",m-1);
else if(n<i) printf("对不起 你输入的数字太小了,你现在还有%d次机会.\n",m-1);
else printf("恭喜你 答对了。");

if(m==0)
printf("正确数字是%d\n",i);

以上是关于c语言猜数字的主要内容,如果未能解决你的问题,请参考以下文章

c语言猜数字游戏源代码

猜数字游戏c语言编程一到五?

c语言设计猜数字游戏

c语言小游戏:猜数字 随机一个1-100之间的数,根据数据输入进行提示

使用C语言编写猜数字问题

c语言猜数游戏编程