首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not be found!”。 折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:lo
admin
2012-06-08
42
问题
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全国计算机二级
相关试题推荐
在推进我国反腐倡廉建设的工作上,中国共产党一直坚持不懈地努力着,下列有关说法错误的是()。
甲乙两地居民的恩格尔系数分别为30%和32%,这可能表明()。
对于实施西部大开发战略,下列叙述错误的是()。
侵害他人财产的,财产的损失应当按照()财产的市场价格或其他方式计算。
1949年后,中国积极主动地融入世界。将下列重大外交事件按时间先后顺序排列,正确的是()。①重返联合国②中美关系正常化③参加万隆会议④加人世界贸易组织
编号从1到10的10个白球排成一行,现按照如下方法涂红色:①涂2个球:②被涂色的2个球的编号之差大于2。那么不同的涂色方法有多少种?
一个等差数列的第1项是2001前7项的和为10500,那么这个数列的第10项是多少?
甲、乙、丙三台车床加工方形和圆形的两种零件,已知甲车床每加工3个零件中有2个是圆形的,乙车床每加工4个零件中有3个是圆形的,丙车床每加工5个零件中有4个是圆形的。某天三台车床共加工了58个圆形零件,而加工的方形零件个数的比为4:3:3,那么这天三台车床共加
一个圆形的草地中央有一个与之同心的圆形花坛,在花坛圆周和草地圆周上各有3个不同的点,安放了洒水的喷头,现用直管将这些喷头连上,要求任意两个喷头都能被一根水管连通,问最少需要几根水管?(一根水管上可以连接多个喷头)()
根据下列材料回答问题。2006—2012年,上表中指标数值逐年减小的指标有()。
随机试题
制定期货涨跌停板制度的目的在于()。
具有金鸡纳反应的抗疟药是
Thispassageis______toodifficultforthejuniorsand______tooeasyfortheseniors.
Ifsomeonesaysyouaresmart,whatdotheymean?Isitagoodthingorsomethingbad?The【C1】______isnotaseasyasyoumight
下列与结肠癌关系最密切的疾病是
某一级公路全长37.88km,设计车速60km/h,全线采用按车型与实际行驶里程收费。该路段位于多风地区,且对路面标线有反光要求。K10+150~K10+600路段为高填方路段,路面设计高程比坡脚地面高程高出15m。全路段平均每1.5km设有一块标志板,对
以下关于首发路演推介的说法正确的是()。[2015年5月真题]
当一个国家的国际收支出现结构性不平衡时,许多发展中国家一般倾向于采取的措施是()
以下不属于原型化方法优点的是Ⅰ.加强了开发过程中用户的参与和决策Ⅱ.文档资料规范、完整Ⅲ.可以接受需求的不确定性并降低风险Ⅳ.可以缓和通信的困难Ⅴ.提供了一个验证用户需求的环境Ⅵ.自上而下、从粗到精进行系统开发
有如下程序代码:PrivateSubForm_Click()DimxAsInteger,yAsInteger,numAsIntegerx=3y=xDoUntilx>=6num=x*yPrint"num=":humx=x
最新回复
(
0
)