c语言设计了一个简单的猜谜游戏:首先,计算机“想”出一个数字,让用户猜。如果用户猜对了,电脑给出提示信息。

//希望我的回答对你的学习有帮助。

#包含?& ltstdio.h & gt

#包含?& ltstdlib.h & gt

#包含?& lttime.h & gt

int?主()

{

int?x,?魔法?答?=?0,?c?=?1;

夏尔?b;

{

srand(无符号(time(NULL)));//为函数rand()设置随机数种子

魔法?=?兰德()?%?100?+?1;//magic是介于1和100之间的数字。

Printf("每局你只有十次机会\ n ");

什么时候?(a?& lt=?10)

{

scanf("%d ",& ampx);

如果?(x & gt魔法)

Printf("错,比魔大\ n ");

不然呢?如果?(x & lt魔法)

Printf("错,比魔小\ n ");

//否则?如果?(x?=?magic)//这里的逻辑运算应该用“= =”

不然呢?如果?(x?==?//你应该是写错了。

{

printf(" Right \ n ");

答?=?答?+?1;

Printf("你猜了%d次\n "?a);

答?=?0;//猜对了之后,要初始化猜对的次数。

打破;

}

a++;

Printf("你猜了%d次\n "?a);

如果?(a?==?10)

{

答?=?0;

printf("Do?你呢。想要吗?去哪?继续吗?(回答Y/N或Y/N)\ N ");

//scanf_s("%c ",& ampb);//这样用的话,会把你的字符放在输入之前。

//?空行(回车键)被分配给?b,不是你输入的Y/N/y/n。

scanf("?%c ",?& ampb);//而这种写法,%c?前面?空格可以吗?scanf?无视前方?输入键

//等待第一个非?进入?元素读数

如果?(b?==?是吗?||?b?==?y’)

c?=?1;

不然呢?如果?(b?==?不是吗?||?b?==?n’)

c?=?0;

打破;//当猜测次数为?10?什么时候,应该跳出来。

//这里不会自动跳出来,因为?答?初始化为?0

}

}

}?什么时候?(c?==?1);

回归?0;

}如果}scanf中没有空格,程序会自动执行10次。

修正程序,猜测正确的情况

修改后的程序猜了10次,y的情况。

修改后的程序,猜错10次,N的情况。