从键盘输入十个有序数据,用折半查找的方式查找该数据;若找到,返回
发布网友
发布时间:2022-06-08 22:09
我来回答
共1个回答
热心网友
时间:2023-09-10 21:24
//我这里只是定义了又10个元素的数组
#include
void
main()
{
int
a[10]={0,10,12,23,24,35,41,51,62,71};
int
low=0,mid,high=9,b,i=-1;
printf("请输入你要查找到数:
");
scanf("%d",&b);
do{if(b==a[9])
{
i=9;break;
}
mid=(low+high)/2;
if(b
a[mid])
low=mid;
else
i=mid;
}while(b!=a[mid]);
if(i==-1)
printf("-1\n");
else
printf("该数在数组中的位置为%d",i+1);
}