编辑代码

#include <stdio.h>

// 在有序数组中查找元素的函数
int binarySearch(int arr[], int n, int target) {
    int low = 0, high = n - 1;

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

        // 检查中间元素是否是目标值
        if (arr[mid] == target)
            return mid;
        
        // 如果目标值在数组的左侧,缩小搜索范围
        else if (arr[mid] < target)
            high = mid - 1;

        // 如果目标值在数组的右侧,缩小搜索范围
        else
            low = mid + 1;
    }

    // 如果未找到目标值,返回-1
    return -1;
}

int main() {
    int arr[] = {85, 63, 52, 34, 25, 17, 6};  // 修改数组的顺序
    int n = sizeof(arr) / sizeof(arr[0]);
    int target = 6;

    int result = binarySearch(arr, n, target);

    if (result != -1)
        printf("元素 %d 存在于数组中,索引位置为 %d。\n", target, result);
    else
        printf("元素 %d 不存在于数组中。\n", target);

    return 0;
}