|  | 
 
 发表于 2019-10-28 11:55:17
|
显示全部楼层 
| 本帖最后由 jackz007 于 2019-10-28 14:37 编辑 
 复制代码#include <stdio.h>
#define M 10
int main()
{
        int n , low , high , found , mid , a[M] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10} ;
        low = 0                                                                            ;
        high = M - 1                                                                       ;
        found = 0                                                                          ;
        do {
                printf("Please input the search number: ")                                 ;
                scanf("%d" , & n)                                                          ;
        } while(n < a[0] || n > a[M - 1])                                                  ;
        while(low <= high) {
                mid = (low + high) / 2                                                     ;
                if (n == a[mid]) {
                        found = 1                                                          ;
                        break                                                              ;
                } else {
                        if (n > a[mid]) low = mid + 1                                      ;
                        else high = mid - 1                                                ;
                }
        }
        if(found) printf("The number is:%d\n" , a[mid])                                    ;
        else printf("The number is not search!!!")                                         ;
}
 | 
 |