以下是一个使用 C 语言实现二分查找并计算查询次数的示例代码: ```c #include <stdio.h> // 二分查找函数 int binarySearch(int arr[], int l, int r, int x, int *count) { while (l <= r) { (*count)++; int m = l + (r - l) / 2; if (arr[m] == x) return m; if (arr[m] < x) l = m + 1; else r = m - 1; } return -1; } // 测试示例 int main() { int arr[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; int n = sizeof(arr) / sizeof(arr[0]); int x = 12; int count = 0; int result = binarySearch(arr, 0, n - 1, x, &count); if (result!= -1) printf("元素 %d 在数组中的索引为 %d,查询次数为 %d\n", x, result, count); else printf("元素 %d 不在数组中,查询次数为 %d\n", x, count); return 0; } ``` 在上述代码中,`binarySearch` 函数用于执行二分查找操作。通过传递一个计数器参数 `count` 来统计查询次数。在 `main` 函数中进行测试并输出查找结果和查询次数。 [2024-09-19 11:11:57 | AI写代码神器 | 369点数解答]