折半查找法查找输入的x是否在输入的m个按升序输入的数据
#include <stdio.h>
int main()
{
int m,x,i,low=0,mid,high,a[50];
scanf("%d ",&m);
high=m-1;
for(i=0;i<m;i++)
{
scanf("%d ",&a[i]);
}
scanf("%d",&x);
while(low<high)
{
mid=(low+high)/2;
if(x==a[mid])
{
printf("%d",mid);
break;
}
else if(a[mid]<x)
{
low=mid+1;
}
else if(a[mid]>x)
{
high=mid-1;
}
}
if(low>high)
printf("no");
return 0;
}