编辑代码

#include <stdio.h> 

// 在有序数组中查找元素是否存在的二分查找算法 
int searchElementInArray(int arr[], int size, int target) { 
    int left = 0; 
    int right = size - 1; 
    while (left <= right) { 
        int mid = left + (right - left) / 2; 
        // 如果找到目标元素,则返回位置 
        if (arr[mid] == target) { 
            return mid; 
        } 
        // 如果目标元素在数组的右半部分 
        else if (arr[mid] < target) { 
            right = mid - 1; 
        } 
        // 如果目标元素在数组的左半部分 
        else { 
            left = mid + 1; 
        } 
    } 
    // 如果循环结束仍未找到目标元素,则返回-1表示未找到 
    return -1; 
} 
int main() { 
    int arr[] = {85, 63, 52, 34, 25, 17, 6}; 
    int size = sizeof(arr) / sizeof(arr[0]); 
    int target = 6; 
    // 调用二分查找算法 
    int result = searchElementInArray(arr, size, target); 
    // 判断结果并输出 
    if (result != -1) { 
        printf("元素 %d 在数组中第%d位。\n", target, result + 1); 
    } else { 
        printf("元素 %d 不存在。\n", target); 
    } 
    return 0; 
}