#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<math.h>
int main()
{
int i;
int right = 0, left = 0,mid=0;
char arr[10] = { 0 };
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
left= 0;
right = sizeof(arr)/sizeof arr[0]-1;
mid = (right + left) / 2;
if (right<mid)
right = mid -1;
else if (left > mid);
left = mid + 1;
printf("中间数是:%d\n",arr[mid]);
printf("中间数的下标是:%d", mid);
system("pause");
return 0;
}
<strong><span style="font-size:18px;color:#ff0000;">折半查找:</span></strong>
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<math.h>
int main()
{
int i;
int right = 0, left = 0,mid=0;
char arr[10] = { 0 };
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
left= 0;
right = sizeof(arr)/sizeof arr[0]-1;
mid = (right + left) / 2;
/* for (i = 0; i < 10; i++)
{*/
if (right<mid)
right = mid -1;
else if (left > mid);
left = mid + 1;
/*}*/
printf("%d", mid);
system("pause");
return 0;
}