输入
11 5 13 19 21 37 56 64 75 80 88 92 56输出(如果查找不到输出”查找失败“)
5
#include<stdio.h> void find(int a[], int n, int num) { int left = 0; int right = n - 1; int mid; while (left < right) { mid = (left + right) / 2; if (a[mid] > num) { right = mid - 1; } if (a[mid] < num) { left = mid + 1; } if (a[mid] == num) { break; } } if (left >= right) { printf("查找失败\n"); } else { printf("%d\n", mid); } } int main() { int n; scanf("%d", &n); int a[100]; int i; for (i = 0; i < n; i++) { scanf("%d", &a[i]); } int num; scanf("%d", &num); find(a, n, num); return 0; }
C语言二分查找
最新推荐文章于 2024-06-02 22:34:05 发布