#include <stdio.h>
#define MIN 0
#define MAX 100
int main(void)
{
int number = (MIN + MAX) / 2;
char c = 'N';
int compare;
printf ("Let me guess the number.\n");
while (c != 'Y')
{
printf ("Is the number %d?Y or N?\n", number);
scanf ("%c", &c);
if (c == 'Y')
break; //number為所求值
if (c == 'N')
{
printf ("1) bigger 2)smaller\n Please choose 1 or 2!\n");
scanf ("%d", &compare);
if (compare == 1)
number = (number + MAX) / 2;
if (compare == 2)
number = (number + MIN) / 2;
}
}
printf ("So, the number is %d.\n", number);
return 0;
}
Let me guess the number.
Is the number 50?Y or N?
N
1) bigger 2)smaller
Please choose 1 or 2!
1
Is the number 75?Y or N?
Is the number 75?Y or N?
Y
So, the number is 75.
為什么出現兩次“Is the number 75?Y or N?”
uj5u.com熱心網友回復:
供參考:#include <stdio.h>
#define MIN 0
#define MAX 100
int main(void)
{
int number = (MIN + MAX) / 2;
char c = 'N';
int compare;
printf ("Let me guess the number.\n");
while (c != 'Y')
{
printf ("Is the number %d?Y or N?\n", number);
rewind(stdin);//清除標準輸入的按鍵緩沖區
scanf ("%c", &c);
if (c == 'Y')
break; //number為所求值
if (c == 'N')
{
printf ("1) bigger 2)smaller\n Please choose 1 or 2!\n");
scanf ("%d", &compare);
if (compare == 1)
number = (number + MAX) / 2;
if (compare == 2)
number = (number + MIN) / 2;
}
}
printf ("So, the number is %d.\n", number);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272986.html
標籤:新手樂園
下一篇:腦電資料分析軟體開發
