首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODll.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2013-04-02
60
问题
由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://www.kaotiyun.com/show/1DJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列数据结构中,能用二分法进行查找的是 ______。
数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为[]。
以下叙述中错误的是______。
有以下程序 void swap(char *x,char *y) {char t; t=*x;*x=*y;*y=t; } main() {char *s1="
有以下程序 main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i-0;i<3;i++) printf("%d",t[2-i][i]); }
在深度为7的满二叉树中,叶子结点的个数为______。
下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:#defineN4voidsort(inta[][N])
下列定义变量的语句中错误的是______。
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
随机试题
下列关于Cl-在近端小管重吸收的描述,正确的是
下列物质中,属于潜在致癌物的是()。
修改或删除会计科目必须先从末级科目开始。()
泡沫塑料制服装垫肩
某旅游开发有限公司2010年8月发生有关业务及收入如下:(1)旅游景点门票收入650万元;(2)景区索道客运收入380万元;(3)民俗文化村项目表演收入120万元;(4)与甲企业签订合作经营协议:以景区内价值2000万元的房
建设单位与物业买受人签订买卖合同应当包含()。
古代兄弟间排行老三的是()。
一只青蛙在直角坐标系的平面里从点(2,2)处开始起跳,每次只能向上、下、左或右跳一个单位,则该青蛙要想到达点(-2,-1)处需要跳动的次数可能是
如果要组建—个快速以太网,那么需要使用以下哪些基本的硬件设备与材料________。Ⅰ.100BASE-T交换机Ⅱ.100BASE-T网卡 Ⅲ.双绞线或光缆Ⅳ.路由器
A、Theyareleadinginthegame.B、Thescoreisreallyclose.C、TheDreamTeamiswaybehind.D、Theywinthegame.A信息明示题。文章第一段指出
最新回复
(
0
)