如果不在数组中,则输出”不在数组中“
在数组中,则返回数组下标。
源代码:
#include <stdio.h>
int nums[100];
int main(){
int n,a;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&nums[i]);
}
scanf("%d",&a);
int low=0,high=n-1;
while(low<high){
if(nums[(low+high)/2]==a)
break;
else{
if(nums[(low+high)/2]<a)
low =((low+high)/2)+1;
else
high=((low+high)/2)-1;
}
}
if(nums[low]==a) printf("位于数组下标%d处",low);
else printf("不在数组中");
return 0;
}
测试结果: