#include// 主函数 int main(int argc, char* argv) { int array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 有序数组 int leftIndex = 0; // 左下标,初始为第0个元素 int rightIndex = sizeof(array) / sizeof(array[0]) - 1; // 右下标,初始为数组最后一个元素 int findNum; printf("请输入要查找的数:"); scanf("%d", &findNum); while (leftIndex <= rightIndex) // 当左下标大于等于右下标时循环查找 { int mid = (leftIndex + rightIndex) / 2; // 折中坐标 if (array[mid] > findNum) { rightIndex = mid - 1; } else if (array[mid] < findNum) { leftIndex = mid + 1; } else { printf("找到了,查找的数在数组中的位置为:%dn", mid); break; } } if (leftIndex > rightIndex) { printf("在数组中没有找到n"); } system("pause"); return 0; }



