如何排除猜数游戏中输入非数字的问题?
2014-09-20 22:48
253 查看
程序产生一个1到1000之间的随机数,并把该数用作要猜的数。玩游戏的人键入所猜的数,如果猜得不正确,继续猜直到正确为止,同时计算游戏者猜数的次数。为了帮助游戏者一步一步得到正确答案,程序会不断地发出信息“太大了!”或“太小了!”。最后,程序向游戏者显示游戏结果。
#include <stdio.h>
#include <stdlib.h> //随机函数等所在头文件
#include <time.h> //时间函数等所在头文件
int main()
{
int x,y,z=0,i=0;
char c;
srand((int)time(NULL));
x=rand()%100;
printf("猜数游戏\n\n");
printf("这是一个0-1000的整数,你猜:");
scanf("%d",&y);
i++;
for(;;)
{
c=getchar();
while(c!='\n')
{
if(c<'0'||c>'9')
{
z++;
}
c=getchar();
}
if(z!=0||y<0||y>=1000)
{
z=0;
printf("请按要求猜:");
scanf("%d",&y);
i++;
continue;
}
if(x==y)
{
printf("恭喜你,猜对了!这个数就是:%d\n你猜了%d次!\n",x,i);
break;
}
else if(x<y)
{
printf("太大了!\n");
}
else
{
printf("太小了!\n");
}
printf("你再猜:");
scanf("%d",&y);
i++;
}
return 0;
}
#include <stdio.h>
#include <stdlib.h> //随机函数等所在头文件
#include <time.h> //时间函数等所在头文件
int main()
{
int x,y,z=0,i=0;
char c;
srand((int)time(NULL));
x=rand()%100;
printf("猜数游戏\n\n");
printf("这是一个0-1000的整数,你猜:");
scanf("%d",&y);
i++;
for(;;)
{
c=getchar();
while(c!='\n')
{
if(c<'0'||c>'9')
{
z++;
}
c=getchar();
}
if(z!=0||y<0||y>=1000)
{
z=0;
printf("请按要求猜:");
scanf("%d",&y);
i++;
continue;
}
if(x==y)
{
printf("恭喜你,猜对了!这个数就是:%d\n你猜了%d次!\n",x,i);
break;
}
else if(x<y)
{
printf("太大了!\n");
}
else
{
printf("太小了!\n");
}
printf("你再猜:");
scanf("%d",&y);
i++;
}
return 0;
}
相关文章推荐
- 关于如何解决C++ Builder中DBLookupComboBox不能输入的问题:
- 悬而未决的问题:如何在Canvas上获得汉字输入
- C# winform 程序中如何限制一个文本框中只输入数字和字母(撤消键可以用)
- js如何判断输入是否为正整数、浮点数等数字的函数
- js如何判断输入是否为正整数、浮点数等数字的函数
- 只能输入数字,字母问题~
- C# 如何实现文本框只能输入数字
- 如何使文本框中只能输入数字
- 完美解决 文本框 只能输入数字问题
- 完美的文本只能输入数字问题!
- 如何使TextBox只能输入数字?
- 用JS限制文本框只能输入数字时的正则表达式问题!
- Torque游戏引擎TGE/TGB中文输入的问题解决方案(含代码下载)
- 如何控制在DataGrid中不能输入全角数字,符号,字母?
- 如何使文本框中输入的必须是数字?
- 如何解决数学软件Maple v9.5在中文Windows下,公式输入中光标定位错误的问题
- 如何使TextBox只能输入数字?
- 如何限制文本框只能输入数字,小数点,英文,汉字等各类代码
- JS判断只能输入数字问题
- 在Word中输入类似如此格式①②③..⑩的数字,超过10的话如何处理呢?