【一维数值数组】C语言程序编程已知有序数组 int arry[]={12, 23, 34, 56, 78,98,256,789}从键盘输入一个

【一维数值数组】已知有序数组intarry[]={12,23,34,56,78,98,256,789},从键盘输入一个整数,请用二分查找法在数组中找出该整数,并将其下标输... 【一维数值数组】已知有序数组 int arry[]={12, 23, 34, 56, 78,98,256,789},从
键盘输入一个整数,请用二分查找法在数组中找出该整数,并将其下标输出
到屏幕上,如果数组中没有该整数,则输出“无此整数”。
展开
 我来答
multihobe
推荐于2018-03-31 · TA获得超过321个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:78.1万
展开全部
#include <stdio.h>

int search(int A[], int n, int key)
{
int low, high, mid;
low = 0;
high = n - 1;
while (low <= high) {
mid = (low + high) / 2;
if (A[mid] == key) {
return mid;
}
if (A[mid] < key) {
low = mid + 1;
}
if (A[mid] > key) {
high = mid - 1;
}
}
return -1;
}
int main()
{
int arry[] = { 12, 23, 34, 56, 78, 98, 256, 789 };
int key; 

printf("请输入需要查找的数字:");
scanf("%d",&key);
int ret = search(arry, sizeof(arry),key);
if (-1 == ret) {
printf("未找到所需要查找的数字:");
}
else {
printf("找到所需数字,其下标为%d\n",ret);
}
        return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式