用C语言编写一个二分查找程序
时间: 2023-04-06 12:01:40 浏览: 74
好的,我可以回答这个问题。以下是一个用 C 语言编写的二分查找程序的示例代码:
```c
#include <stdio.h>
int binary_search(int arr[], int n, int target) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 5;
int index = binary_search(arr, n, target);
if (index == -1) {
printf("目标元素不存在\n");
} else {
printf("目标元素在数组中的下标为 %d\n", index);
}
return 0;
}
```
这个程序可以在一个有序的整数数组中查找目标元素,并返回它在数组中的下标。如果目标元素不存在于数组中,则返回 -1。