首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N个有序整数数列已放在一维数组中,给定下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
N个有序整数数列已放在一维数组中,给定下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
admin
2017-01-11
45
问题
N个有序整数数列已放在一维数组中,给定下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。
折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中。直到low>high,查找结束。
注意:
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
【试题源程序】
#include
#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】
;
else
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】(10w+high)/2 【2】mid-1 【3】return
解析
填空【1】:此处要确定折半查找的中间位置,所以应该填(10w+high)/2,这个式子的运算结果为整型数据。
填空【2】:由折半查找的算法可得,中间的元素值大,则应该选择前半段进行查找,所以此处应该把mid前一位的下标赋值给high。
填空【3】:由算法可以看出,此处应该是执行完毕,仍然没有找到满足条件的元素,此时应当返回-1,所以使用关键字“return”。
转载请注明原文地址:https://kaotiyun.com/show/6rID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
根据下面材料回答下列小题。总体看来,2004年世界各国的石油探明储量基本变化不大。但是由于BP公司修正了前苏联、哈萨克斯坦、伊朗、利比亚和苏丹等国的数据,特别是哈萨克斯坦从12亿吨修正到54亿吨,从而使各国在全球石油储量分布中所占的比例发生了一些变化
根据下面材料回答下列小题。总体看来,2004年世界各国的石油探明储量基本变化不大。但是由于BP公司修正了前苏联、哈萨克斯坦、伊朗、利比亚和苏丹等国的数据,特别是哈萨克斯坦从12亿吨修正到54亿吨,从而使各国在全球石油储量分布中所占的比例发生了一些变化
下图为我国东部沿海地区某城市功能区分布略图,若图中城镇规划合理,避免了工业大气污染对住宅区的影响,则其指向标是()。
太阳公转的轨道是形状近似正圆的椭圆,太阳始终位于椭圆的一个焦点上。地球离太阳最近的位置,叫近日点。下列诗句中描述的季节与地球位于近日点时一致的是()。
实体法与程序法的划分标准是()。
下列关于法的程序性的表述,能够成立的是
西周时期为保证适用法律的谨慎,防止错杀无辜,对犯罪事实有疑的案件,在司法审判中要经过()程序。
随机试题
补液试验为取等渗盐水250ml,一般于多少分钟内经静脉注入:()
女性,30岁,患原发性甲状腺功能亢进(Graves病),甲状腺肿大Ⅱ~Ⅲ度,血清T3、T4均明显增高,脉搏110次/分。甲状腺大部切除后发生手足抽搐,选用有效的治疗药物是
下列有关公司担保的说法正确的是:()
销售收入为20万元,边际贡献率为40%,则变动成本总额为()万元。
社会主义国家发展对外经济关系的必要性,从根本上说是()。
已知3阶方阵A=(aij)3×3的第1行元素为:A11=1,a12=2,a13=一1.其中A*为A的伴随矩阵.求矩阵A.
有如下关系:课程表C,主键为c-id(char(4))。c-idc-name若用如下语句建立成绩表SC:CREATETABLESC(s-idchar(6)NOTNULL,c-idchar(4)NOTNULL,scoreIn
下列不属于软件工程的3个要素的是()。
Itmightbesupposedthatefficiencyshouldbeachievedonlyifseveralpeoplecooperatetosolveaproblem.Suchresultsareby
HowtoMakeAttractiveandEffectivePowerPointPresentationsA)MicrosoftPowerPointhasdramaticallychangedthewayinwhicha
最新回复
(
0
)