二分查找用C语言程序,二分查找的C语言实现

先预设值一段数组,再输入一个数,用二分查找法找到这个数再数组中的位置,并输出位置,通常使用二分法查找。

下面是示例代码,查找二十个数中的某数并输出位置。

#include

#include

int Search(int *a,int key)

{//在顺序表中折半查找key的元素,若找到返回元素下标,否则返回0

int low=0,mid;

int high=20;

while(low<=high)

{

mid=(low+high)/2;

if(key==a[mid]) return mid; //找到待查元素

else if(key

else low=mid+1; //在后半区查找

}

return 0; //未找到

}

void main()

{

int *a,key,i;

int b[20]={0};

a=b;

printf("请输入从大到小的20个整数:\n");

for(i=1;i<=20;i++)

{

scanf("%d",&b[i]);

}

printf("\n");

printf("请输入你要查找的数:\n");

scanf("%d",&key);

if(!Search(a,key)) printf("要查找的数不在目标数组中!\n");

else printf("你要查找的数的序号是:%d \n",Search(a,key));

}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值