#include<stdio.h>
void zb(int key,int a[],int n)
{
int i,high,low,mid;
int count1=0,count=0;
low=0;
high=n-1;
while(high>=low)
{
count++;
mid=(high+low)/2;
if(key<a[mid])
high=mid-1;
else if(key>a[mid])
low=mid+1;
if(key==a[mid])
{
printf("元素找到了!!!\n一共查找了%d次\n它处于a[%d]位置上\na[%d]=%d\n",count,mid,mid,key);
count1++;
break;
}
}
if(count1==0)
printf("元素不存在!!!\n");
}
int main ()
{
int key,n,a[100];
int i;
void zb(int key,int a[],int n);
printf("请输入数组元素个数:\n");
scanf("%d",&n);
printf("请输入(从小到大)所有数组元素:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("请输入要查找的数:\n");
scanf("%d",&key);
zb(key,a,n);
printf("\n");
return 0;
}