如有错误,请务必指出,谢谢!
1 #include <stdio.h>
2
3 int main(int argc, char** argv)
4 {
5 int array[] = {1, 3, 5, 24, 35, 45, 67, 73, 76, 78, 98, 99, 200, 201, 202, 455, 3445};
6 int length = sizeof(array)/sizeof(int);
7 int low, mid, high, temp;
8 char c = 'a';
9
10 while (c != 'q')
11 {
12 printf("in:");
13 scanf("%d", &temp);
14
15 low = 0;
16 high = length;
17 mid = (high + 1 + low) / 2;
18
19 while(low <= high)
20 {
21 if (temp < array[mid])
22 {
23 high = mid - 1;
24 mid = (high + low + 1) / 2;
25 }
26 else if (temp > array[mid])
27 {
28 low = mid + 1;
29 mid = (high + low + 1) / 2;
30 }
31 else
32 {
33 printf("\n\t %d is found. Index is %d.\n", temp, mid);
34 break;
35 }
36 }
37 }
38 }