利用二分法查找 设计人与计算机猜数游戏,二分查找法举例

满意答案

#include

int main()

{

int a[11]={0,1,2,3,4,5,6,7,8,9,10},k=1,flag=0;

int i,m,n,j,low,mid,high;

for(i=1;i<=10;i++)

{

printf("a[%d]=%d ",i,a[i]);

if(i%3==0)printf("\n");

}

printf("\n\n输入一个数,输出查找结果:");

scanf("%d",&m);

printf("\n\n");

low=1;high=10;

while(low<=high)

{

mid=int((low+high)/2);

printf("第%d次查找的是第%d个数 ",k,mid);k++;

n=a[mid];printf("第%d个数的值是%d\n",mid,n);

if(m==n)

{

printf("\n\n找到结果该数是原数组中第%d个数\n\n",mid);

flag=1;

break;

}

if(m>n)low=mid+1;

if(m

}

printf("\n\n");

if(flag==0)printf("该数组中不存在这个数。");

printf("\n\n");

return 0;

}

00分享举报