用c语言写输入n(n<100)的值,以及n个从小到大排序的整数序列,再输入一个待查找的整数m,使用二分法进行查找该数的序号。
时间: 2024-02-13 08:05:50 浏览: 269
好的,下面是用C语言实现二分查找的代码:
```c
#include <stdio.h>
int main() {
int n, arr[100], m;
printf("请输入整数序列的长度:");
scanf("%d", &n);
printf("请输入从小到大排序的整数序列:");
for(int i=0; i<n; i++) {
scanf("%d", &arr[i]);
}
printf("请输入待查找的整数:");
scanf("%d", &m);
int left = 0, right = n-1;
while(left <= right) {
int mid = (left + right) / 2;
if(arr[mid] == m) {
printf("该数的序号为:%d\n", mid+1);
break;
}
else if(arr[mid] > m) {
right = mid - 1;
}
else {
left = mid + 1;
}
}
if(left > right) {
printf("序列中不存在该数!\n");
}
return 0;
}
```
这段代码首先读入整数序列的长度n和序列arr,然后再读入待查找的整数m。接着,使用二分法查找该数的序号,如果找到了就输出该数的序号,否则输出“序列中不存在该数!”提示。
阅读全文