给定一个有序数组,输入一个值,判断数组中是否有和这个值相等的元素,如果有,则输出这个元素的下标,如果没有,则输出未找到。
#include测试一: 测试二:int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; // 所给的数组必须为有序数组 int sz = sizeof(arr) / sizeof(arr[0]); // 计算数组的长度 int left = 0; //左下标 int right = sz - 1; // 右下标 int k = 0; scanf("%d", &k); while (left <= right) { int mid = (left + right) / 2; if (arr[mid] > k) { right = mid - 1; } else if (arr[mid] < k) { left = mid + 1; } else { printf("查找的元素存在,它的下标为%dn", mid); break; } } if (left > right) { printf("查找的元素不存在n"); } return 0; }
暑期编程PK赛 得CSDN机械键盘等精美礼品!



