用C语言编写代码在一个整形有序数组中查找具体的某个数
时间: 2024-04-30 18:19:56 浏览: 99
C语言程序设编写程序在数组中查找一个数要求 ⑴用顺序查找实现 ⑵用折半查找实现。 注:若有该数,则输出该数,否则输出“无此数”。
5星 · 资源好评率100%
以下是一个简单的C语言代码示例,用于在有序数组中查找特定的数字:
```c
#include <stdio.h>
// 在有序数组 arr 中查找数值为 num 的元素,返回其索引,如果找不到则返回 -1
int binarySearch(int arr[], int n, int num) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == num) {
return mid;
} else if (arr[mid] < num) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = sizeof(arr) / sizeof(arr[0]);
int num = 5;
int index = binarySearch(arr, n, num);
if (index == -1) {
printf("没有找到 %d\n", num);
} else {
printf("%d 在数组的索引位置为 %d\n", num, index);
}
return 0;
}
```
该程序首先定义了一个 `binarySearch` 函数,该函数使用二分查找算法在有序数组中查找特定数字。该函数接受三个参数:有序数组 `arr`、数组的长度 `n` 和要查找的数字 `num`。函数返回找到的数字的索引,如果没有找到,则返回 -1。
在 `main` 函数中,我们声明一个有序数组,使用 `sizeof` 运算符计算数组的长度,然后调用 `binarySearch` 函数查找数字。如果找到,则输出数字和它的索引,否则输出一条未找到该数字的消息。
阅读全文