#include <stdio.h>
#define N 10
/*
N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置,若找到,则输出其下标值;反之,则输出 “Not be found”
*/
int main()
{
int i;
int low = 0;
int high = N - 1;
int mid;
int k = -1;
int m;
int a[N] = {-3,4,7,9,13,45,67,89,100,180};
printf("数组中的数据如下:\n");
for(i = 0; i < N; i++)
{
printf("%4d ",a[i]);
}
printf("\n");
printf("请输入您想要查找得数字:");
scanf("%d",&m);
while(low <= high)
{
mid = (low + high) / 2;
if(m < a[mid])
{
high = mid - 1;
}
else
{
if(m > a[mid])
{
low = mid + 1;
}
else
{
k = mid;
break;
}
}
}
if(k >= 0)
{
printf("wei zhi shi %d,zhishi %d\n",k,m);
}
else
{
printf("Not find !\n");
}
return 0;
}