首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2015-08-23
96
问题
由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.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;
wh2Le(10w<=high)
{ mid=(10w+high)/2 ;
if(m
high=mid一1;
/************found************/
else If(m>a[mid])
low=mid+1;
else Eeturn(mid);
}
retu EFI(一1);
}
main()
{ int i,a[N]={一3,4,7,9,13,45,67,89,100,180),k,m;
printf("a数组中的数据如下:");
for(i=0;i
a
);
printf("Enter m:"); scarlf
("%d",&m);
k=fun(a,m);
if(k>=0)
printf("m=%d,index=id\n",m,k);
else printf("Not be found!\n");
}
选项
答案
(1)int fun(int a[],int m) (2)else if(m>a[mid])
解析
(1)根据主函数中“k=fun(a,m);”,知道函数fun应该是返回int型的函数,所以第一个标识下面定义的“voidfun(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/8HDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若a是int型变量,则下列表达式的值为______。(a=2*3,a*2),a+4
C语言结构体类型变量在程序执行期间()。
下列能正确定义且赋初值的语句是()。
有下列二叉树,对此二叉树前序遍历的结果为()。
结构化程序设计主要强调的是()。
按照“先进后出”原则组织数据的数据结构是()。
现有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include#include"myfun.c"main(){fun();printf("\n");}myf
源程序的文档化不包括()。
若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件()。
随机试题
PV操作可以用来实现
_______、_________、_______是以西方发达国家为缔约国的国际经济组织。
女性,65岁,右上腹痛,寒战、高热3天入院,既往有胆结石病史。入院检查,体温39.5℃,血压80/50mmHg,神志淡漠,巩膜黄染,右上腹压痛(+),未及包块,肠鸣音正常,该病人初步诊断
A.孕母有菌血症B.阴道细菌上行C.脐部感染D.消化道入侵E.黏膜破损新生儿败血症的产前感染的途径是
在下列立法表述中,哪些属于除斥期间的规定?()
下列有关建设工程担保的描述中,正确的是()。
在市政给水管道、进水管道或天然水源不能满足消防用水量时应设置消防水池,补水时间不宜超过()h。
某百货大楼,地上4层,局部6层,建筑高度36m,建筑面积28700m2。下列做法中,错误的是()。
2018年4月,某审计组对某公司2017年度财务收支进行了审计。有关的资料和审计情况如下:1.审计人员取得了由被审计单位编制的应付账款明细表,审阅并确定表中无过期未付的债务,在与财务报表上应付账款的数额核对相符后,即确认该明细表正确无误。2.该公司付款
请从所给的四个选项中,选出最恰当的一项填入问号处,使之呈现一定的规律性。
最新回复
(
0
)