vlambda博客
学习文章列表

干货 | 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; }





长按订阅

printf("在看我吗?”)