猜数字游戏
#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那块,请问怎样解决,新人求助!!!