用c需要编写,在数组中查找整数
时间: 2024-12-25 16:35:52 浏览: 8
在C语言中,如果你想在一个整数数组中查找特定的整数,你可以使用循环结构配合条件判断来实现。这里是一个简单的示例:
```c
#include <stdio.h>
// 假设我们要在数组arr[]中查找整数target
int* binary_search(int arr[], int size, int target) {
int left = 0;
int right = size - 1;
while (left <= right) {
int mid = left + (right - left) / 2; // 使用二分查找算法
if (arr[mid] == target) { // 找到目标值
return &arr[mid];
} else if (arr[mid] < target) { // 目标值大于中间元素,缩小左半部分
left = mid + 1;
} else { // 目标值小于中间元素,缩小右半部分
right = mid - 1;
}
}
// 如果没找到目标值,返回NULL或数组结束位置
return NULL;
}
int main() {
int array[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
int target = 11;
int* result = binary_search(array, sizeof(array)/sizeof(array[0]), target);
if (result != NULL) {
printf("找到目标整数 %d 的位置: %d\n", target, result - array); // 输出元素在数组中的索引
} else {
printf("目标整数 %d 没有在数组中找到。\n", target);
}
return 0;
}
```
在这个例子中,`binary_search`函数采用二分查找法,这是一种在有序数组中高效查找特定元素的方法。如果找到,返回该元素的指针;未找到则返回`NULL`。
阅读全文