知识分享 – 干货 | C语言实现一款猜数字游戏【附源码】

本文由职坐标整理并发布,内容来源网络,

本文主要向大家介绍了C/C++知识点之用C语言实现一款猜数字游戏,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

最经典的猜数字游戏的例子来展示条件结构在程序中的作用,今天看到另外一种猜数字的玩法,也挺有趣:

这个游戏由三个人一起玩,一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流猜,每次猜测之后,主持人就说出猜测的这个数比他心中的数字是大还是小,然后另外一个人根据这个信息继续猜测,如此轮流,最后谁猜中就算谁输了。(算赢了也可以)

这是一个相互挖坑让对方跳的过程,特别是最后几步,猜测范围越来越小,真是步步惊心,稍不留意,就踩到对方挖的坑里去了。

============================================================================

代码如下:

*/
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<stdbool.h>
#include<ctype.h>
intmain()
{
srand(time(NULL));//随机数种子
while(true)
{
intmin=1;
intmax=100;//初始范围
intcount=0;//猜测次数
constinttarget=rand()%max+1;//产生随机数的目标数
while(true)
{
intguess=0;
printf("pleaseinputanumberbetween%dand%d\n",min,max);
fflush(stdin);//清空输入缓存,以便不影响后面输入的数。比如你逐个输入字符,他帮你缓冲掉你每输入一个字符后面所敲的回车键。否则回车也会被当成字符保存进去。scanf("%d",&guess);//获取猜测的数字
++count;
if(guess<min||guess>max)//超出范围
{
printf("theinputisoutof%d-%d\n",min,max);
continue;
}
else
{
if(target==guess)//猜中
{
printf("YOUWIN!\nyouhaveguessed%dtimesintotal.\n",count);
break;
}
elseif(target>guess)//目标比猜的数字大
{
min=guess;
printf("thetargetislargerthan%d\n",guess);
}
else//目标比猜的数字小
{
max=guess;
printf("thetargetislessthan%d\n",guess);
}
}
}
//本轮游戏结束,是否继续
printf("Doyouwanttoplayagain?(Y-yes,N-no)\n");
fflush(stdin);
charc='Y';
scanf("%c",&c);
if(toupper(c)!='Y')
{
break;
}
}
return0;
}

正文完