改进了些,但是还是不好。
#define N 11 main() { int x,a[]={05,13,19,21,37,56,64,75,80,88,92}; int search(int s[N],int key); printf("Put what you want:"); scanf("%d",&x); if(search(a,x)==0)printf("You want is not here!"); else printf("You want is here a[%d]",search(a,x)-1); getch(); }
int search(int s[N],int key) { int low=0,high=N,mid; while(low<=high) { mid=(low+high)/2; if(s[mid]==key)return mid+1; else if(s[mid]>key)high=mid-1; else low=mid+1; } return 0; } |