首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2013-04-02
46
问题
由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
以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO
以下叙述中错误的是______。
有以下程序 int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; return sum
有以下程序 void swap(char *x,char *y) {char t; t=*x;*x=*y;*y=t; } main() {char *s1="
有以下程序 int fun1 (double a){return a*=a;} int fun2 (double x,double y) { double a=0,b=0; a=fun1
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为______。
若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值 10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:口代表空格字符)
随机试题
患者,男,23岁,因食辛辣之品见衄血,血色鲜红,口干咽燥,舌红,脉弦数。治疗宜选用
患者,女,18岁。月经紊乱。现阴道出血20天,开始1周量多如注,后淋漓不止:色深红,质稠,溲黄便干,舌红苔黄,脉洪数。治疗应首选( )。
技术因素与非技术因素的相互关系具体表现为
列入《中华人民共和国实施强制性产品认证的产品目录》内的商品必须( ),方可进口。
资金筹集是保险公司财务管理的首要任务,保险公司资金来源包括()
该商品的价格弹性为()。该商品的降价销售后的日销售收入比降价前增加()。
教师指导学生通过阅读课外书籍和教材获得知识的方法是()。
群众的眼睛是雪亮的,但如果缺乏足够的引导和约束,这种“雪亮”有可能变成一种偏执,一种没有方向的自负。而建立在“多数人”压过“少数人”基础上的制度安排,很可能走进片面和狭隘的陷阱中。“上级”评议,官员面对的是“一个人”;“公众”评议,官员面对的是“一群人”,
甲、乙二人是建筑工人,在布满石头的工地上发生口角。甲猛推乙一把,乙倒地后后脑勺恰巧碰在一块大石头上,导致颅脑损伤,抢救无效死亡。甲对乙的死亡在主观方面是()。
HereareSofiaFranco,thefoodwriterandstylist’stop11tipsforahealthydiet:1.Drinklotsofwater.Takea1.5literbo
最新回复
(
0
)