首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2013-04-02
57
问题
由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全国计算机二级
相关试题推荐
先有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include<stdio.h>#include"myfun.c"main(){
以下程序的输出结果是[]。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=-a[i][i]+a[i][3-i
以下叙述中错误的是______。
有以下程序 main() {int a=0,b=0,c=0,d=0; if(a=1)b=1;c=2; else d=3; printf("%d,%d,%d,%d\
有以下程序 main() {int y=10; while(y-);printf("y=%d\n",y); } 程序执行后的输出结果是______。
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为______。
若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。
若变量已删除正确定义,则以下语句的输出结果是______。 s=32; s^=32; printf("%d",s);
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 void f(int b[],int n,int flag) { int i,j,t; for(i=0;i<n-1;i++)
随机试题
下面描述中叙述错误的是
施工合同示范文本规定,当合同文件发生矛盾时,应按顺序进行解释。下列排序中正确的是()。
[背景资料]某综合利用水利枢纽工程位于我国西北某省,枯水期流量很少;坝型为土石坝,黏土心墙防渗;坝址处河道较窄,岸坡平缓。工程中的某分部工程包括坝基开挖、坝基防渗及坝体填筑,该分部工程验收结论为:“本分部工程划分为80个单位工程,其中合格30个,优良50
墙体节能工程,现场拉拔试验是检验保温板材与基层的()。
在进行标准成本差异分析时,通常把变动成本差异分为价格脱离标准造成的价格差异和用量脱离标准造成的数量差异两种类型。下列标准成本差异中,通常应由生产部门负责的有()。2010年
颁布《中华人民共和国教育法》的国家机关是()
历史和现实都告诉我们,只有社会主义才能救中国,只有中国特色社会主义才能发展中国。在当代中国,坚持中国特色社会主义,就是真正坚持()
设矩阵Am×n的秩r(A)=m
数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。1.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
Imagine,JohnLennon’smostfamoussong,wasrecentlyvoted"Britain’sfavouritesongofalltime".It’sanidealistsongabou
最新回复
(
0
)