本关任务:用c语言输入n(n<100)的值,以及n个从小到大排序的整数序列,再输入一个待查找的整数m,使用二分法进行查找该数的序号。
时间: 2024-03-22 15:41:24 浏览: 113
好的,以下是使用 C 语言实现的程序,可以实现输入 n 和 n 个从小到大排序的整数序列,以及一个待查找的整数 m,然后使用二分法进行查找该数的序号:
```c
#include <stdio.h>
int main() {
int n, m, left = 0, right, mid, i;
int a[100];
// 输入 n 和 n 个从小到大排序的整数序列
printf("请输入 n 和 n 个从小到大排序的整数序列:\n");
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 输入待查找的整数 m
printf("请输入待查找的整数 m:\n");
scanf("%d", &m);
// 使用二分法查找
right = n - 1;
while (left <= right) {
mid = (left + right) / 2;
if (a[mid] == m) {
printf("该数的序号为 %d\n", mid+1);
return 0;
} else if (a[mid] < m) {
left = mid + 1;
} else {
right = mid - 1;
}
}
// 如果查找失败
printf("未找到该数\n");
return 0;
}
```
你只需要将以上代码复制到 C 语言编译器中并运行,就可以实现你想要的功能了。
阅读全文