编写代码在一个整形有序数组中查找具体的某个数。
要求:找到了就打印数字所在的下标,找不到则输出:找不到。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int arr[10] = { 0 };
printf("请输入一个有序数列:");
for (int i = 0; i < 10; i++)
scanf("%d", &arr[i]);
int x;
printf("请输入一个整数:");
scanf("%d", &x);
int L = 0;
int R = 9;
int mid = 0;
while (L <= R)
{
mid = (L + R) / 2;
if (arr[mid] > x)
R = mid - 1;
else if (arr[mid] < x)
L = mid + 1;
else
break;
}
if (L <= R)
printf("%d", mid);
else
printf("找不到!");
return 0;
}