本帖最后由 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") ;
}
|