|
发表于 2019-11-21 22:59:15
|
显示全部楼层
本帖最后由 jackz007 于 2019-11-21 23:01 编辑
- #include <stdio.h>
- void show(int * d , int m , int n)
- {
- int k ;
- for(k = 0 ; k < m ; k ++) {
- if(! (k % n)) {
- if(k) printf("\n") ;
- printf("\t") ;
- } else {
- printf(" , ") ;
- }
- printf("%3d" , d[k]) ;
- }
- printf("\n") ;
- }
- int main(void)
- {
- int a[10] = {1 , 3 , 5 , 7 , 9 , 13 , 17 , 21 , 25 , 29} ;
- int low , high , mid , d , k , m ;
- bool f ;
- show(a , 10 , 5) ;
- printf("\n") ;
- printf("请输入数字 : ") ;
- scanf("%d" , & d) ;
- printf("\n") ;
- for(low = 0 , high = 9 , m = 10 , f = false ; low <= high && ! f ;) {
- mid = (low + high) / 2 ;
- if (d == a[mid]) {
- for(k = mid ; k < m - 1 ; k ++) a[k] = a[k + 1] ;
- m -- ;
- f = true ;
- } else {
- if (d > a[mid]) low = mid + 1 ;
- else high = mid - 1 ;
- }
- }
- if(f) show(a , m , 5) ;
- else printf("\t数组中没有这个数\n") ;
- }
复制代码 |
|