首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2013-04-02
63
问题
由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://kaotiyun.com/show/1DJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
以下叙述中错误的是______。
有以下程序 main() { char *p[]={"3697","2548"}; int i,j; long num=0; for(i=0;i<2;i++) {j=
有以下程序 int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; return sum
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
以下能正确定义字符串的语句是______。
对如下二叉树进行后序遍历的结果为______。
设有说明structDATE{intyear;intmonth;intday;};请写出一条定义语句,该语句定义d为上述结构体类型变量,并同时为其成员year、month、day依次赋初值2006、10、1:【】。
随机试题
我国在新时期经济发展的主线是()
A.过敏性紫瘫性肾炎B.急性肾小球肾炎C.慢性肾炎D.肾病综合征E.尿路感染女、6岁,高热伴尿频、尿痛3天,患儿自诉左腰部疼痛,尿黄浑,可能诊断为
A.承担传染病监测、预测、流行病学调查、疫情报告以及其他预防控制工作B.承担与医疗救治有关的传染病防治工作和责任区域内的传染病预防工作C.在各自的职责范围内辅助传染病防治工作D.领导本行政区域内的传染病防治工作E.主管全国传染病防治及其监督管理工作
1,8-二羟基蒽醌与醋酸镁络合后呈1,3-二羟基蒽醌与醋酸镁络合后呈
在全国范围内的市场上开展业务的银行的营销组织应当采取()。
确定可供出售金融资产发生减值的,按应减记的金额,借记“资产减值损失”科目,贷记“可供出售金融资产——减值准备”科目。()
试简述商业银行的中间业务。
长期以来,我国积极推动军民融合实践,取得了丰硕成果,促进了经济实力和国防实力的同步增长。同时,我们要看到,我国军民融合发展刚进入初步融合向深度融合的过渡阶段。加快形成军民融合深度发展格局的具体要求包括
设函数f(u)具有2阶连续导数,z=f(excosy)满足=(4x+excosy)e2x.若f(0)=0,f’(0)=0,求f(u)的表达式.
A small network may only connect two computers inside a home to share a single printer and Internet(69)
最新回复
(
0
)