首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2013-04-02
32
问题
由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(char p[][10]) {int n=0,i; for(i=O;i<7;i++) if(p[i][O]=T)n++; return n; } main
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
在深度为7的满二叉树中,叶子结点的个数为______。
下列选项中小属于结构化程序设计方法的是______。
下列定义变量的语句中错误的是______。
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 void f(int b[],int n,int flag) { int i,j,t; for(i=0;i<n-1;i++)
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
随机试题
在先秦时期的区域文化中,源于南楚的包括()
关于腺癌,下列哪项不正确
若在一个正弦(或非正弦)信号周期内取若干个点的值,取点的多少以能恢复原信号为依据,再将每个点的值用若干位二进制数码表示,这就是用数字量表示模拟量的方法。将模拟量转换为数字信号的介质为模/数转换器(ADC)。数字影像则是将模拟影像分解成有限个小区域,每个小区
位于山区基岩地下水单元补给区的I类一级评价项目,地下水环境现状调查范围应是()。
王某和张某是两个刚刚从事会计工作的年轻人,对相关财经法规不够熟悉.20X8年10月10日,王某向张某签发了一张16000元的转账支票以及一张1200元的现金支票,王某在签发支票时使用普通的蓝色水笔填写,并且没有签章。张某将16000元的转账支票交给银
两家以上商业银行受控于同一集团但又不以股权公司的形式出现的制度是()。
“行政”通常指执行国家意志、推行政务、管理社会公共事务的活动。在我国,这一活动的主体主要是()。
土家族的主要禁忌有()。
如图1所示,是甲、乙、丙三个物体的v-t图像,则下列说法正确的是()。
在ENIAC的研制过程中,由美籍匈牙利数学家总结并提出了非常重要的改进意见,他是
最新回复
(
0
)