| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1162 人关注过本帖
标题:猜数字游戏
只看楼主 加入收藏
小白0号
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2018-1-4
结帖率:100%
收藏
已结贴  问题点数:1 回复次数:3 
猜数字游戏
#include<stdio.h>
int main()
{
   int guess=50,limit_max=100,limit_min=0,sum1=0,sum2=0;
   char response,ch;
   printf("请您输入1到100之间的数,我将会尝试去猜测您心中的整数\n");
   printf("您只需回答yes or no和small or big.\n");
   printf("这个数是50吗?\n");
   while(getchar()!='y')
 {
           while(getchar()!='\n')
         continue;
       printf("是大了还是小了?(回答small or big)\n");

       if(getchar()=='s')         //当用户输入small时,采用二分法
   {  sum1++;
       if(sum1>1)                 //当第二次循环时才开始计数
        { guess=limit_min;}
       printf("您猜测的数是%d吗?\n",(guess+limit_max)/2);
          limit_min=(guess+limit_max)/2;   
           while(getchar()!='\n')
         continue;      
   }   
        else if(getchar()=='b')   //当用户输入big时
   {
           sum2++;
           if(sum2>1)
       {    guess=limit_max;}
        printf("您猜测的数是%d吗?\n",(guess+limit_min)/2);
        limit_max=(guess+limit_min)/2;
         while(getchar()!='\n')
         continue;
   }
       else  printf("对不起,我只能识别small or big,请重新输入!\n");
        
  }
   printf("我猜到了!\n");
   return 0;
}
这是我写的代码,可是当输入big时,之前的换行符总是去不掉,导致程序根本不会进入Big那块,请问怎样解决,新人求助!!!
搜索更多相关主题的帖子: 游戏 printf 输入 while getchar 
2018-01-04 19:07
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:0 
你程序的判断流程有点问题,换行的问题可以这么解决。
程序代码:
int a;

省略中间代码

       if((a=getchar())=='b')

2018-01-05 01:09
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:1 
if ((ch=getchar() )== 's') { ... ... }

else if (ch == 'b') { ... ... }

else { ... ...}
 
不是之前的换行符没去掉!   当你输入 b回车后,  执行语句if(getchar()=='s') ,不满足条件则执行else if语句...  但此时你输入的 'b'已经被getchar()吃了,

早知做人那么辛苦!  当初不应该下凡
2018-01-05 12:54
小白0号
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2018-1-4
收藏
得分:0 
回复 3楼 炎天
灰常感谢!问题解决了
2018-01-07 09:58
快速回复:猜数字游戏
数据加载中...
 
   



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

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