C语言 猜数字游戏
#includestdio.h
#includetime.h
#includemath.h
int main()
{
int i,a,n;
srand((int)time(NULL));
n=rand()%100+1;
for(i=0; i5; i++)
{
printf(“请输入一个介于1到100的整数:”);
scanf(“%d”,a);
if(an)
printf(“猜小了!\n”);
if(an)
printf(“猜大了!\n”);
if(a==n)
{
printf(“猜对了!\n”);
break;
}
}
return 0;
}
怎样用c语言编一个猜数游戏,要电脑随机选四个数字给玩家猜,最后还要有计时和排行榜
#includestdio.h
#includestdlib.h
#includetime.h
#includemath.h
#define SIZE 4
#define HIGH 4 //这个可以自己定义,优等:猜测次数少于4回
#define MIDDLE 8 //这个可以自己定义,良等:猜测次数少于8回,多于4回
#define LOW 12 //这个可以自己定义,中等:猜测次数少于12回,多于8回
main()
{
int enter=1,stop,a[SIZE],b[SIZE];
int guessnum,i,j,counter,countera,counterb,counter0,extra;
int times=0;
char ch;
srand(time(NULL));
while(enter==1)
{
stop=2;
while(stop==2)
{
extra=1;
for(i=0;i=SIZE-1;i++)
a[i]=rand()%10;
for(i=0;i=SIZE-1;i++)
{
for(j=i+1;j=SIZE-1;j++)
{
if(a[i]==a[j]) extra=2; }
}
if(a[0]!=0extra==1)
{
stop=1;
}
}
counter=1;
while(counter=6)
{
if(times==10)
{
printf(“对不起,您猜了10次了,游戏失败!!\n”);
printf(“\n还继续吗?(1:继续游戏 2:退出)\n”);
counter=7;
times=0;
scanf(“%d”,enter);
}
else
{
printf(“请输入您的猜测结果(第%d次猜测):\n”,times+1);
scanf(“%d”,guessnum);
times++;
for(i=0;i=SIZE-1;i++)
b[i]=guessnum/(int)pow(10,SIZE-1-i)%10;
countera=0;
for(i=0;i=SIZE-1;i++)
{
if(a[i]==b[i]) countera++;
}
counter0=0;
for(i=0;i=SIZE-1;i++)
{
for(j=0;j=SIZE-1;j++)
{
if(a[i]==b[j]) counter0++;
}
}
counterb=(counter0-countera);
if(countera==4)
{
printf(“猜对了!!\n”);
if(times=HIGH) printf(“您一共猜了%d次,成绩: 优\n”,times);
else if(times=MIDDLE) printf(“您一共猜了%d次,成绩: 良\n”,times);
else if(times=LOW) printf(“您一共猜了%d次,成绩: 中\n”,times);
else printf(“您一共猜了%d次,成绩: 差\n”,times);
printf(“\n还继续吗?(1:继续游戏 2:退出)\n”);
counter=7;
times=0;
scanf(“%d”,enter);
}
else
{
printf(“%dA%dB\n”,countera,counterb);
counter++;
}
}
}
}
while((ch=getchar())!=’s’ch!=’S’);
return 0;
}
请用c语言编写猜数字游戏
没时间来写符合你题目的,这个是我以前写过的一个猜数字游戏,系统会给出一个的1~99之间的随机数,你来猜,看多少次可以猜中. 你看用得上不.
#include stdio.h
#include stdlib.h
#include time.h
#include sys/time.h
int main (int argc, char **argv)
{
int d, c;
struct timeval tv;
gettimeofday (tv, NULL);
srand (tv.tv_usec);
d = rand () % 100;
printf (“Please input a number:\n”);
scanf (“%d”, c);
printf (“c=%d\n”, c);
int min_num = 1;
int max_num = 99;
int num=1;
while (c != d)
{
if (c d)
{
if( c max_num )
max_num = c;
printf (“%d – %d\n”, min_num ,max_num);
}
else if (c d)
{
if( c min_num )
min_num = c;
printf (“%d – %d\n”, min_num ,max_num);
}
else
break;
scanf (“%d”, c);
num++;
printf(“c = %d \n”,c);
}
printf (“it’s true:%d,num=%d\n”, c,num);
return 0;
}
求解c语言考题 猜数游戏: 功能一:计算机想好了一个4位无重复数字,例如:0913是可以的,350
//猜数游戏
/*
猜数游戏:
功能一:计算机想好了一个4位无重复数字,例如:0913是可以的,
3502也是可以的,6787不可以,现在您想办法把这个数字猜出来,
每猜一个数字,计算机会根据这个数字给出几A几B,
其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为5234,而猜的人猜5346,则是1A2B。其中有一个5的位置对了,记为1A;\n
而3和4这两个数字对了,而位置没对,因此记为2B;一共有10次机会,注意,:输入的数字不能重复。
*/
#includestdio.h
#includestdlib.h
#includetime.h
int n=0;
int cmp(char a[],char b[])//比较
{
int s=0,i,j;
for(i=0;i4;i++)
if(a[i]==b[i])
s++;
for(i=0;i4;i++)
{
for(j=0;j4;j++)
{
if(b[j]==a[i]j!=i)
n++;
}
}
return s;
}
main()
{
srand((unsigned)time(NULL));
char a[5],b[5];
int i,j,s,k=0;
for(i=0;i4;i++)//无重复4位数
{
a[i]=rand()%10+48;
for(j=i-1;j=0;j–)
{
if(a[i]==a[j])
{
i–;
break;
}
}
}
a[i]=’\0′;
//puts(a);测试用,下面是输入过程
do{
gets(b);
s=cmp(a,b);
printf(“1A:%d\t2B:%d\n”,s,n);
n=0;
k++;
}while(s!=4k!=10);
if(k!=10)//结果
printf(“You Win,the num is %s”,a);
else
printf(“You Lost,the num is %s”,a);
}
我自己写了个 不知道可否满意 测试已成功
您好,很高兴为您解答,流星不死为您答疑解惑
如果本题还有不懂的地方请追问,望采纳我的回答。
祝楼主学习进步。
上面的代码可以直接复制到编译器里,带换行。