请用C++语言实现,输入:n个不同整数和一个整数x的排序数组a, 输出:数组A中x的索引
时间: 2023-04-10 09:01:27 浏览: 85
我可以回答这个问题。以下是C语言实现:
```c
#include <stdio.h>
int binarySearch(int arr[], int l, int r, int x) {
if (r >= l) {
int mid = l + (r - l) / 2;
if (arr[mid] == x)
return mid;
if (arr[mid] > x)
return binarySearch(arr, l, mid - 1, x);
return binarySearch(arr, mid + 1, r, x);
}
return -1;
}
int main() {
int n, x;
printf("请输入数组长度n和要查找的整数x:");
scanf("%d %d", &n, &x);
int arr[n];
printf("请输入%d个不同的整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int result = binarySearch(arr, 0, n - 1, x);
if (result == -1) {
printf("数组中不存在%d\n", x);
} else {
printf("%d在数组中的索引是%d\n", x, result);
}
return 0;
}
```
输入样例:
```
请输入数组长度n和要查找的整数x:5 3
请输入5个不同的整数:1 2 3 4 5
```
输出样例:
```
3在数组中的索引是2
```