c语言输入n(n<100)的值,以及n个从小到大排序的整数序列,再输入一个待查找的整数m,使用二分法进行查找该数的序号。
时间: 2023-06-27 14:07:39 浏览: 98
好的,下面是代码实现:
```c
#include <stdio.h>
int main()
{
int n, m, i, left = 0, right, mid;
int a[100];
// 输入n和整数序列
printf("请输入n以及n个从小到大排序的整数序列:\n");
scanf("%d", &n);
for(i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
// 输入待查找的整数
printf("请输入待查找的整数:\n");
scanf("%d", &m);
// 使用二分法查找
right = n - 1;
while(left <= right)
{
mid = (left + right) / 2;
if(a[mid] == m)
{
printf("%d在序列中的位置为%d\n", m, mid + 1);
break;
}
else if(a[mid] > m)
{
right = mid - 1;
}
else
{
left = mid + 1;
}
}
if(left > right)
{
printf("序列中没有找到%d\n", m);
}
return 0;
}
```
程序运行时,首先要输入n和n个整数,然后输入待查找的整数m,程序会使用二分法查找该数在序列中的位置,如果找到了,就输出其位置,否则输出“序列中没有找到该数”。
阅读全文