摘要:本文主要向大家介绍了C/C++知识点之用C语言实现一款猜数字游戏,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了C/C++知识点之用C语言实现一款猜数字游戏,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
/*
最经典的猜数字游戏的例子来展示条件结构在程序中的作用,今天看到另外一种猜数字的玩法,也挺有趣: 这个游戏由三个人一起玩,
一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流猜,每次猜测之后,主持人就说出猜测的这个数比他心中
的数字是大还是小,然后另外一个人根据这个信息继续猜测,如此轮流,最后谁猜中就算谁输了。(算赢了也可以) 这是一个相互挖坑
让对方跳的过程,特别是最后几步,猜测范围越来越小,真是步步惊心,稍不留意,就踩到对方挖的坑里去了。
============================================================================
Name : numbergame1.c
Author : lixiaolong
Version : v1.0
Copyright : Your copyright notice
Description : number of game in C, Ansi-style
Encoding time:2013年10月31日11:09:41
============================================================================
*/
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <stdbool.h>
#include <ctype.h>
int main()
{
srand( time(NULL) );//随机数种子
while(true)
{
int min = 1;
int max = 100;//初始范围
int count = 0;//猜测次数
const int target = rand()%max + 1;//产生随机数的目标数
while(true)
{
int guess = 0;
printf("please input a number between %d and %d\n",min,max);
fflush(stdin);//清空输入缓存,以便不影响后面输入的数。比如你逐个输入字符,他帮你缓冲掉你每输入一个字符后面所敲的回车键。否则回车也会被当成字符保存进去。
scanf("%d",&guess); // 获取猜测的数字
++count;
if(guess < min || guess > max) //超出范围
{
printf("the input is out of %d - %d\n",min,max);
continue;
}
else
{
if(target == guess) //猜中
{
printf("YOU WIN!\nyou have guessed %d times in total.\n",count);
break;
}
else if(target > guess) //目标比猜的数字大
{
min = guess;
printf("the target is larger than %d\n",guess);
}
else //目标比猜的数字小
{
max = guess;
printf("the target is less than %d\n",guess);
}
}
}
//本轮游戏结束,是否继续
printf("Do you want to play again?(Y - yes,N - no)\n");
fflush(stdin);
char c = 'Y';
scanf("%c",&c);
if(toupper(c) != 'Y')
{
break;
}
}
return 0;
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号