/*5,修改程序清单 8,4 中的猜测程序,使其使用更智能的猜测策略。例如,程序最初猜 50,让其
询问用户该猜测值是大、小还是正确。如果该猜测值小,则令下一次猜测值为 50 和 100 的中值,也就是
75。如果 75 大,则下一次猜测值为 75 和 50 的中值,等等。使用这种二分搜索(binary search)策略,起
码如果用户没有欺骗,该程序很快会获得正确答案。*/#include<stdio.h>#include<stdlib.h>
int main()
{
char a;
int guess;
int max = 100, min = 1;
printf("Pick an intger from 1 to 100.I will try to guess ");
printf("it.\nRespond with a y if my guess is right and with");
printf("\na < if it is smaller and a > it is bigger.\n");
printf("Uh...is your number %d?\n", guess = (max + min) / 2);
while ((a = getchar()) != 'y')//获取用户相应并和y比较
{
if (a == '<')
{
min = guess;
printf("Well,then,is it %d?", guess = (min + max) / 2);
}
elseif (a == '>')
{
max = guess;
printf("Well,then,is it %d?", guess = (max + min) / 2);
}
}
printf("I knew I could do it!\n");
system("pause");
return0;
}