首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODIl.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODIl.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2021-04-28
53
问题
由N个有序整数组成的数列已放在一维数组中,给定程序MODIl.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数组中的数据如F:");
for(i=0 ; i
a
);
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");
}
选项
答案
(1)int fun(int a[],int m) (2)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 lf”当中“If”应当小写,故第二标识下“else If(m>a[mid])”应改为“else if(m>a[mid])”。
转载请注明原文地址:https://kaotiyun.com/show/KWtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下不能用于描述算法的是
有下列程序:#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;floatscore[2];}STU;STUf(STU
C语言中double类型数据占字节数为
若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)()。
设有定义:char*c:以下选项中能够使c正确指向一个字符串的是
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
关于“while(条件表达式)循环体”,以下叙述正确的是
一个教师讲授多门课程,一门课程由多个教师讲授。则实体教师和课程间的联系是
若有定义语句:intx=10;,则表达式x-=x+x的值为()。
用树形结构表示实体之间联系的模型是
随机试题
下面属于鲁迅对《西游记》的评价的是【】
2006年3月20日,上海的甲公司与北京的乙公司签订了一份买卖合同,约定:甲公司向乙公司购买1000吨化工原料,总价款为200万元;乙公司在合同签订后1个月内交货,甲公司在验货后7日内付款。双方没有明确约定履行地点。合同签订后,甲公司以其办公用房作抵押向丙
(2007年第89题)急性肝衰竭出现肝性脑病时,不宜选用的治疗是
A.主动脉内球囊反搏B.利多卡因C.同步电复律D.冠状动脉旁路移植术E.非同步电复律急性心肌梗死血压低,使用血管活性药物后仍低,应使用
下列关于钢筋代换的说法正确的是()。
下列项目中,应计入商品流通企业存货入账价值的有()。
正当理由是一般侵权民事责任的抗辩事由之一,包括()。
下列国家行政机关中不属于同一行政层级的是()。
明代司法机关中,负责处理本省驻军军人之间诉讼的是
下列语句的作用是计算正整数n的各位数字之和,例如:n=123,sum=1+2+3。请将下列语句补充完整。Do{Sum+=【7】:n=n/10;)while(n!=0)
最新回复
(
0
)