0
点赞
收藏
分享

微信扫一扫

c语言实现折半查找,要求返回所在元素的下标。

猫er聆听没落的旋律 2022-03-30 阅读 43
c语言

如果不在数组中,则输出”不在数组中“

在数组中,则返回数组下标。

源代码:

#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;

测试结果:

举报

相关推荐

0 条评论