首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
admin
2012-06-08
40
问题
N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。
折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中,直到low>high,查找结束。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]
#include <stdio.h>
#define N 10
int fun(int a[],int m)
{
int low=0, high=N-1, mid;
while(low<=high)
{
mid= (1) ;
if(m<a[mid])
high= (2) ;
eise
if(m>a[mid])
low=mid+1;
else
return(mid);
}
(3) (-1);
}
main()
{
int i, a[N]=(-3, 4, 7, 9, 13, 24, 67, 89, 100, 180), k, m;
printf("a数组中的数据如下: ");
for(i=0; i<N; i++);
printf("%d", a
);
printf("Enter m: ");
scanf("%d", &m);
k=fun(a, m);
if(k>=0)
printf("m=%d, index=%d\n", m, k));
else
printf("Not be found\n");
}
选项
答案
[1] (low+high)/2 [2] mid-1 [3] return
解析
填空1:根据题目的意思,这里应该是确定折半查找的中间位置,所以很明显应该填(low+high)/2。注意,这个式子返回的是整型数据,即如果分子为7,则结果为3。
填空2:根据题目的意思,中间的元素值大时应该选择前半段进行下次查找,所以应该把mid前一位的下标赋值给high。
填空3:由算法可以看出,这里应该是所有转换完毕仍然没有找到满足条件的地方,即应该返回-1,所以使用关键字“remm”。
转载请注明原文地址:https://jikaoti.com/ti/vikiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
假定甲有外遇,为达到和第三者结婚的目的,准备杀妻,已将毒药放入妻子的碗中,妻子发觉饭有异味而将饭倒掉,幸免于难,则甲的行为属于()。
2015年政府工作报告中,李克强总理针对产业发展提到了一个新概念:要实施“中国制造2025”。下列对此理解错误的是()。
依据我国《宪法》的规定,省、自治区、直辖市建置的批准机关是()。
李某自2007年4月起开始非法制造、贩卖匕首,至次年1月停止。2008年8月公安机关根据举报发现了李某的违法行为。下列哪一种说法是正确的?()
行政行为作出后,非依法定程序不得随意变更或撤销,这是行政行为的()。
行政机关制定的除行政法规和规章以外的其他规范性文件.在设定行政处罚上()。
一个各位不相同的8位数密码,任意相邻两个数字之和为质数,则最大的8位数各位数字之和为多少?
将1、2、3、4、5、6、7、8、9九个数排成一行,使得第二个数整除第一个数,第三个数整除前两个数的和,第四个数整除前三个数的和,……,第九个数整除前八个数的和。如果第一个数是6,第四个数是2,第五个数是1。排在最后的数是几?
用2012减去一个四位数的差,正好等于将这个四位数各个数位数字相加的和,那么有几个这样的四位数?()
影子银行是指游离于银行监管体系之外、可能引发系统性风险和监管套利等问题的信用中介体系,它具有融资贷款中介功能,却游离于货币管理当局的传统货币政策监管之外。下列不属于影子银行的是()。
随机试题
将行政组织内部的群团划分为正式群团和非正式群团的依据是()
A、白消安(马利兰)B、泼尼松(强的松)C、硫酸亚铁D、叶酸E、丙酸睾酮特发性血小板减少性紫癜治疗首选
某患者,竞争意识强,总想胜过他人;老觉得时间不够用,说话快、走路快;脾气暴躁,容易激动,常与他人的意见不一致。其行为类型属于
罗马国家第一部成文法是什么?
金融期权合约本身可以作为金融期权的基础资产。()
应收账款日常管理的主要措施有()。
无论研究数学中的哪一个分支,华罗庚总能抓住中心问题,并力求在方法上有所创新。他反对将数学割裂开来,永远只搞一个小分支或其中的一个小题目,而对别的东西不闻不问。他将这种做法形容为“____”。他曾多次____学生:“我们不是玩弄整数,数论跟其他分支是有密切关
以下关于信息系统项目的叙述中,不正确的是()。
例如:为了让自己更健康,他每天都花一个小时去锻炼身体。★他希望自己很健康。(√)今天我想早点儿回家。看了看手表,才5点。过了一会儿再看表,还是5点,我这才发现我的手表不走了。★那块手表不是他的。(×)
Accordingtothecontract,thesalaryoftheemployee______.Thelinemanagerisresponsiblefor______.
最新回复
(
0
)