C语言二分查找法

1、编写一个用“二分查找法”查找一组数中是否存在数据x的函数。调用该函数,若存在此数,返回此数在数组中的位置;若不存在此数,返回-1,并输出“查无此数”信息。... 1、编写一个用“二分查找法”查找一组数中是否存在数据x的函数。调用该函数,若存在此数,返回此数在数组中的位置;若不存在此数,返回-1,并输出“查无此数”信息。 展开
 我来答
xtjmdw
推荐于2017-09-27 · TA获得超过278个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:236万
展开全部
#include <stdio.h>

int binfind(int val[] , int num , int value)
{
int start = 0;
int end = num - 1;
int mid = (start + end)/2;
while(val[mid] != value && start < end)
{
if (val[mid] > value)
{
end = mid - 1;
}
else if (val[mid] < value)
{
start = mid + 1;
}
mid = ( start + end )/2;
}
if (val[mid] == value)
return mid;
else
return -1;
}

int main()
{
int nums[] = {1 , 3 , 4 ,7 ,8 , 12 ,45 ,67 ,97 ,123 ,456 ,675 ,1111 , 4534 , 4563};
int result = binfind(nums , sizeof(nums) / sizeof(nums[0]) , 45);
if (result < 0)
{
printf("查无此数");
}

}
更多追问追答
追问
不对啊,只有press anykey啊
追答
因为查找到了。只有查不到才输出。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式