自己心里面想一个数,然后回答电脑猜大了还是猜小了。
#include<bits/stdc++.h>
using namespace std;
int a[1001];
int i,key,answer=2,le=1,ri=1000,mid;
int main()
{
for(i=1;i<=1000;i++)a[i]=i;
printf("请在1~1000之间选择一个数字!\n");
while(le<=ri)
{
mid=(le+ri)/2;
printf("数字为%d\n对吗?正确输入0,猜大了输入1,猜小了输入-1:",a[mid]);
scanf("%d",&answer);
if(answer==0){printf("\n你心中的数字为:%d\n",a[mid]);break;}
else if(answer==1)ri=mid-1;
else le=mid+1;
}
if(le>ri)printf("\n你没想好数字吗?还是中间输入搞错了?");
return 0;
}