首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回一1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(lowhigh,查找
由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回一1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(lowhigh,查找
admin
2019-04-04
91
问题
由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回一1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low
high,查找结束。
请改正程序中的错误,使它能得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#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;
prinff(”1t数组中的数据如下:”);
for(i=0;i
printf(“%d”,a
);
printf(“Enter m:”);
seanf(“%d”,&m);
k=fun(a,m);
if(k>=0)
prinff(“m=%d,index=%d\n”,m,k);
else
prinff(“Not be found!\n”);
}
选项
答案
(1)int fun(int a[],int m)或fun(int a[],int m) (2)else if(m>a[mid])
解析
本题考查:折半查找算法;函数定义;if…else语句。
(1)fun(int a[],int m)函数的返回值为int类型,所以定义函数时,函数的返回类型不能是void,而是int类型。这里int可以省略,若省略函数类型标识符,系统将默认为int型。
(2)else If(m>a[mid])中,关键字if需要区别大小写,大写是错误的。
说明:折半查找算法,将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。
转载请注明原文地址:https://www.kaotiyun.com/show/A6Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下函数的功能是输出链表结点中的数据,形参指针h已知向如下链表请填空。structslist{chardata;structslist*next;};voidfun(structslist*h){structslis*P;
有以下程序: #include<string.h> void f(char *s,char *t) {char k; k=*s; +s=*t; *t=k; S++; t--; if(*s) f(s,t);
下列选项中错误的说明语句是
有如下程序;intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);pr
结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。
下面的程序通过函数average计算数组中各元素的平均值,请填空。floatavetage(int*pa,intn) {inti; floatavg=0.0; for(i=0;i<n;i++); avg
要正确定义并初始化一个数组a,它含有5个元素,则正确的语句是______。
下面函数调用语句含有实参的个数为func((exp1,exp2)(exp3,exp4,exp5));
若变量已正确定义并赋值,则以下符合C语言语法的表达式是()。
下列程序的输出结果是()。#include<stdio.h>main(){structst{inty,x,z;};union{longi;intj;char
随机试题
按照观察者与被观察者的关系来分类,可把观察法分为参与观察法和()
胆囊管结石嵌顿( )急性出血性胰腺炎( )
A.干燥综合征B.系统性硬化症C.多发性肌炎D.纤维肌痛综合征E.重叠综合征男性,58岁。3年来四肢渐进性无力,双上肢上举无力。查体发现四肢肌力Ⅳ级。生化检查发现CK、LDH、HBDH等均升高。肌肉活检发现肌纤维变性,伴有炎
y=x3一3x2的拐点为()。
水灰比的大小会明显影响混凝土凝结时间,表现在()。
在Excel中,工作表的拆分分为()。
《合同法》规定,应当先履行债务的当事人,有确切证据证明对方有法律规定的中止履行合同情形的,即可行使不安抗辩权。一旦行使不安抗辩权,合同即被解除。()
确定教学内容的依据包括()。(2016.广西)
根据合伙企业法的规定,新入伙的有限合伙人对入伙前有限合伙企业的债务()(2012年法学基础课单选第12题)
Itisunfortunatethat,owingtolackofmoney,theseexperimentsmustnowbe______beforetheobjectivehasbeenachieved.
最新回复
(
0
)