二分法c语言程序代码
时间: 2023-06-21 21:18:24 浏览: 42
以下是一个简单的二分查找算法的C语言程序代码:
```c
#include <stdio.h>
int binary_search(int arr[], int n, int x) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == x) {
return mid;
} else if (arr[mid] < x) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // 如果没有找到则返回-1
}
int main() {
int arr[] = {1, 3, 5, 7, 9, 11, 13};
int n = sizeof(arr) / sizeof(arr[0]);
int x = 7;
int index = binary_search(arr, n, x);
if (index != -1) {
printf("元素 %d 在数组中的下标为 %d\n", x, index);
} else {
printf("元素 %d 不在数组中\n", x);
}
return 0;
}
```
该程序接收一个整型数组和要查找的元素,使用二分法查找并返回元素在数组中的下标。如果元素不在数组中,则返回-1。
阅读全文