| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 808 人关注过本帖
标题:一个简单的猜数字游戏的字符读取问题
取消只看楼主 加入收藏
jabyshen
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-2-16
收藏
 问题点数:0 回复次数:3 
一个简单的猜数字游戏的字符读取问题
一个简单的猜数字游戏,一次猜字完成后读取一个判断是否继续玩的字符时,总是读取了输入最后一个答案时候的回车输入而不是等待新的输入.怎么解决.大家运行一下就明白怎么回事?猜一次.

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
char p;
void caishu(void)
{
int m,n;
srand(time(NULL));
m=rand()%1000+1;
printf("I havu a number between 1 and 1000.\nCan you guess my number.\nPlease type your frist guess.\n");
scanf("%d",&n);
while(n!=m){
if(n>m){
printf("Too high.Try again.\n");
scanf("%d",&n);
}
if(n<m){
printf("Too low.Try again.\n");
scanf("%d",&n);
}
}
printf("Excellent!You guessed the number!\nWould you like to play again?( y or n ):");
scanf("%c",&p);/*就是这里了,总是自动读取了最后一个正确答案的回车,而不是等待输入*/
}
main()
{
caishu();
while(p=='y'){
caishu();
}
if(p=='n')
printf("Byebye");
while(p!='y'&&p!='n'){
printf("Wrong order\n");
printf("Would you play again?( y or n ):");
scanf("%c",&p);
while(p=='y'){
caishu();
}
if(p=='n')
printf("Byebye");
}
return 0;
}

[此贴子已经被作者于2007-3-28 21:14:31编辑过]

搜索更多相关主题的帖子: 数字 字符 游戏 
2007-03-28 21:13
jabyshen
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-2-16
收藏
得分:0 
谢谢2位的回复  我自己最后也采用了这种方法  但感觉总是怪怪的

[此贴子已经被作者于2007-3-29 22:16:14编辑过]



2007-03-29 22:15
jabyshen
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-2-16
收藏
得分:0 
谢谢楼上.

2007-03-30 20:02
jabyshen
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-2-16
收藏
得分:0 
谢谢楼上  我用fflush(stdin);解决了问题

2007-03-31 21:37
快速回复:一个简单的猜数字游戏的字符读取问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044498 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved