首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2013-04-02
72
问题
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
high,查找结束。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数。不得增行或删行,也不得更改程序的结构。
#include
#define N 10
/************found************/
void fun(int a[],int m)
{int low=0,high=N-1,mid;
while(low<=high)
{mid=(low+high)/2;
if(m
high=mid-1;
/************found************/
else If(m > a[mid])
low=mid+1;
else return(mid);
}
return(-1);
}
main()
{int i,a[N]={-3,4,7,9,13,45,67,89,100,180 },k,m;
printf("a数组中的数据如下:");
for(i=0;i
);
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");
}
选项
答案
int fun(int a[],int m) else if(m>a[mid])
解析
(1)根据主函数中“k=fun(a,m);”,知道函数fun应该是返回int型的函数,所以第一个标识下面定义的“void fun(int a[],int m)”应该改为“int fun(int a[],int m)”。
(2)第二个标识下的“else If(m > a[mid])”是判断m是否比a[mid]大,在while循环中采用的是if-else if-else语句,显然“else If”当中“If”应当小写,故第二标识下“else If(m > a[mid])”应改为“else if(m>a[mid])”。
转载请注明原文地址:https://www.kaotiyun.com/show/1DJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数据库系统的核心是 ______ 。
以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;[];i++){j=i*10
有以下程序 main() {int y=10; while(y-);printf("y=%d\n",y); } 程序执行后的输出结果是______。
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
若变量已删除正确定义,则以下语句的输出结果是______。 s=32; s^=32; printf("%d",s);
若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。
下列定义变量的语句中错误的是______。
以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。请填空。main(){intx,y,z,max,*px,*py,*pz,*pmax;scanf("%d%d%d",&x,&y,&z
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
随机试题
A.心烦失眠,口舌生疮B.神志痴呆,表情淡漠C.发热气粗,躁狂谵语D.胆怯易惊,失眠多梦胆郁痰扰可见
哪项不是洋地黄中毒的临床表现
下列对肿瘤描述不正确的是
电梯机械安全系统主要有()。
()被称为银行风险中的“终结者”。
在国际结算中,有关当事人只是处理单据,银行只看单据而不管货物,对所装货物和实际情况如何、是否中途损失、能否如期到达目的港,均不负责任的国际结算方式是()结算。
甲公司历年按10%计提盈余公积,20×3-20×6年有关投资业务如下:(1)甲公司20×3年7月1日与A公司达成资产置换协议,甲公司以投资性房地产和无形资产换入A公司对乙公司的投资,该资产交换协议具有商业实质且换入和换出资产的公允价值能够可靠计量,甲公司
国家统计局数据显示,2016年末,全国规模以上中小工业企业(以下简称“中小企业”)37.0万户,比2015年末增加0.5万户企业,其中,中型企业5.4万户,占中小企业户数的14.6%,小型企业31.6万户,占中小企业户数的85.4%。分地区看,
根据下列资料,回答下列问题。2015年1—2月份,邮政企业和全国快递服务企业业务收入(不包括邮政储蓄银行直接营业收入)累计完成580.4亿元,同比增长25.2%;业务总量累计完成614.1亿元,同比增长30.5%。2月份,因春节假期因素,行业增速
A、Thegraduatestudentscouldunderstandthelecture.B、Neithertheundergraduatestudentsnorthegraduatestudentscouldunder
最新回复
(
0
)