int main()//定位31
{
int arr[] = { 2,4,6,7,9,11,20,30,31,35,40,45,69,70 };
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;//范围左端下标
int right = sz - 1;//范围右端下标
int mid = 0;
int k = 0;
printf("判断任意一个数是否在数组中:>");
scanf("%d", &k);
while (right >= left)
{
mid = (left + right) / 2;
if (arr[mid] == k)
{
printf("31的下标是%d\n", mid);
break;
}
else if (arr[mid] < 31)
{
left = mid + 1;
}
else
right = mid - 1;
}
if (left > right)
printf("该数不存在\n");
return 0;
}