发 帖  
原厂入驻New
[讨论] C语言实现一款猜数字游戏【附源码】
2020-5-15 10:25:35  367 C语言
分享
C语言实现一款猜数字游戏【附源码】
最经典的猜数字游戏的例子来展示条件结构在程序中的作用,今天看到另外一种猜数字的玩法,也挺有趣:
这个游戏由三个人一起玩,一个人做主持人,心中默想一个1100之间的数字,然后由其他两个人轮流猜,每次猜测之后,主持人就说出猜测的这个数比他心中的数字是大还是小,然后另外一个人根据这个信息继续猜测,如此轮流,最后谁猜中就算谁输了。(算赢了也可以)
这是一个相互挖坑让对方跳的过程,特别是最后几步,猜测范围越来越小,真是步步惊心,稍不留意,就踩到对方挖的坑里去了。
============================================================================
代码如下:
*/
#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; }

0
2020-5-15 10:25:35   评论 分享淘帖

撰写讨论

你正在撰写讨论

如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发讨论
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表