逆序数组的折半查找 int a[]={19,13,8,7,5,2}; int len=sizeof(a)/sizeof(a[0]); int l=0,r=len-1,mid,k,flag=0; scanf("%d",&k); while(l<=r) { mid=l+(r-l)/2; if(a[mid]<k) r=mid-1; else if(a[mid]>k) l=mid+1; else { flag=1; break; } } if(flag) printf("%d的下标为:%d\n",k,mid); else printf("没有该元素\n");