前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >干货 | C语言实现一款猜数字游戏【附源码】

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

作者头像
小林C语言
发布2020-03-11 13:07:39
7270
发布2020-03-11 13:07:39
举报

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

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

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

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

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

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

代码如下:

代码语言:javascript
复制
*/
#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;
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档