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的情况。