查到了显示位置,没查到显示没有找到。
#include<stdio.h>
#include<stdlib.h>
#define M 6
int Search_Bin(int a[M],int key){
int low = 1;
int high=M;
int mid;
while(low<=high){
mid = (low+high)/2;
if(a[mid-1]==key){
return mid;
}
else if(a[mid-1]>key){
high = mid - 1;
}
else{
low = mid+1;
}
}
return -1;
}
int main(){
int key;
int a[M],i = 0;
printf("请输入有序数组以空格隔开以回车结束: \n");
do{
scanf("%d",&a[i++]);
}while(getchar()!='\n');
printf("请输入要查找的数: \n");
scanf("%d",&key);
int sb = Search_Bin(a,key);
if(sb==-1){
printf("没有找到!\n");
}else{
printf("%d\n",sb);
}
return 0;
}