编辑代码

#include <stdio.h>

int binarySearch(int arr[], int n, int k) {
    int low = 0;
    int high = n - 1;

    while (low <= high) {
        int mid = low + (high - low) / 2;

        if (arr[mid] == k) {
            return 1;  // 目标元素找到
        } else if (arr[mid] > k) {
            high = mid - 1;  // 缩小查找范围至low到mid-1
        } else {
            low = mid + 1;  // 缩小查找范围至mid+1到high
        }
    }

    return 0;  // 目标元素未找到
}

int main() {
    int arr[] = {85, 63, 52, 34, 25, 17, 6};
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 6;

    int found = binarySearch(arr, n, k);

    if (found) {
        printf("元素 %d 存在于数组中。\n", k);
    } else {
        printf("元素 %d 不存在于数组中。\n", k);
    }

    return 0;
}