用C语言写输入在第一行先给出非负整数N(<=10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。
时间: 2023-11-22 20:53:22 浏览: 78
下面是用C语言实现的代码,可以实现你所描述的功能:
```c
#include <stdio.h>
int main() {
int n, x;
scanf("%d", &n); // 输入整数个数
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]); // 输入n个整数
}
scanf("%d", &x); // 输入要查找的整数
int left = 0, right = n - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (nums[mid] == x) {
printf("%d\n", mid); // 找到了,输出位置
return 0;
} else if (nums[mid] < x) {
left = mid + 1;
} else {
right = mid - 1;
}
}
printf("-1\n"); // 没找到,输出-1
return 0;
}
```
这段代码首先读入整数个数,然后定义一个整型数组 `nums`,并读入 `n` 个整数。接着读入要查找的整数 `x`。然后使用二分查找的思想,在有序数组中查找 `x` 的位置,并输出。如果没找到,输出-1。
阅读全文