C语言编程输入一个数,从a[10]中查找这个数,如果找到输出这个数,没找到输出“no found!”。 (注意:使用二分查找,不可调用用户自定义的函数
时间: 2023-06-27 10:01:43 浏览: 92
C语言程序设编写程序在数组中查找一个数要求 ⑴用顺序查找实现 ⑵用折半查找实现。 注:若有该数,则输出该数,否则输出“无此数”。
5星 · 资源好评率100%
好的,下面是代码实现:
```c
#include <stdio.h>
int main() {
int a[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int n, left = 0, right = 9, mid;
printf("请输入一个数:");
scanf("%d", &n);
while (left <= right) {
mid = (left + right) / 2;
if (a[mid] == n) {
printf("%d\n", n);
return 0;
} else if (a[mid] > n) {
right = mid - 1;
} else {
left = mid + 1;
}
}
printf("no found!\n");
return 0;
}
```
这里使用了二分查找法(也称折半查找),将数组a[10]平均分为两部分,如果中间值大于待查找值,则在左半部分继续查找,否则在右半部分继续查找,直到找到待查找值或者左右指针交错。如果找到,则输出该值,否则输出"no found!"。
阅读全文