首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
admin
2012-06-08
64
问题
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://kaotiyun.com/show/EDID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
价格机制的核心内容是()。
张某以请客为名用酒将高某灌醉,然后扶高某到一偏僻无人处,将高某的钱包(内有人民币5000元)拿走。张某的行为构成()。
假定其他条件不变,下列因素中不会导致货币升值的是()。
下列情形中不符合暂予监外执行规定的是()。
电脑作为日常工具走进寻常百姓家,既给我们的生活带来便利,同时电脑病毒、黑客等问题也给我们带来困扰。以下关于计算机病毒的叙述,正确的是()。①我们平常所说的“黑客”与“计算机病毒”其实是一回事②若用杀毒盘清毒后,感染病毒的文件可以完全恢复到原来的状
某甲在银行取款时,银行工作人员因点钞失误多付给他1万元,甲以这1万元作本钱经商,获利5千元,其中2千元为其劳务管理费用成本。一个月后银行发现了多付款的事实,要求甲退回,甲不同意。下列有关该案的哪一表述是正确的?()
某书店出售一种挂历,每售出1本可得18元利润。售出一部分后每本减价10元出售,全部售完。已知减价出售这种挂历本数是原价出售挂历的三分之二。书店售完这种挂历共获得利润2870元,书店一共出售这种挂历多少本?
某学校准备重新粉刷升国旗的旗台,该旗台由两个正方体上下叠加而成,边长分别为1米和12米。问需要粉刷的面积为:
从1、2、3、4、5、6、7、8、9这几个数字中选择3个数字,使它们的乘积能够被9整除,问共有多少种不同的方法?
从1,2,3,4,5,6,7中任取2个数字,分别作为一个分数的分子和分母,则在所得分数中不相同的最简真分数一共有多少个?()
随机试题
Overtheyears,collegestudentshavestoodtogetherforwhattheybelievein,fromcivilrightstoanti-warpoliciestothemor
淤血时扩张充盈的血管主要是
营养不良忠儿最初的表现是
为破伤风患者换药后,污染敷料的正确处理是
下列句子中,体现了李丰“为官不贪财”的一组是()。①在邺下名为清白②外示清净,而内图事③不以家计为意,仰俸廪而已④丰常约敕不得有所侵取⑤得赐宫人,多与子弟,而丰皆以诸外甥⑥有司籍其家,家无馀积
①李真本来是一个年轻有为的领导干部,但他经受不住金钱的诱惑_______走上了犯罪道路。②辩证唯物论者并不反对把个别问题从历史的大联系中抽出来,做精细而深入研究,_______,他提倡这样的研究。③有些人片面理解“减负”工作,认为“减负”就是大量减少作
下列情形中,可以成立单位犯罪的有()。
Readthefollowingtextandmatcheachofthenumbereditemsintheleftcolumntoitscorrespondinginformationintherightco
Thatmanisanaggressivecreaturewillhardlybedisputed.Withtheexceptionofcertainrodents,noothervertebratehabituall
Whichofthefollowingwordscanbeusedtocompletethesentence"Shecookswell______."?
最新回复
(
0
)