首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
由N个有序整数组成的数列已放在一维数组中,给定程序MODIl.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
由N个有序整数组成的数列已放在一维数组中,给定程序MODIl.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(10w
admin
2020-10-26
79
问题
由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://www.kaotiyun.com/show/eJ3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是
有以下程序#include<stdio.h>#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i];}main(){intx[][N]={{1,2
设有以下函数:voidfun(intn,char*s){……}则下面对函数指针的定义和赋值均正确的是
在嵌套使用if语句时,C语言规定else总是
设文件指针fp已定义,执行语句fp=fopen("file","w”);后,以下针对文本文件file操作叙述的选项中正确的是
若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是
以下选项中,值为1的表达式是
下列排序方法中,最坏情况下比较次数最少的是()。
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()。
有以下说明语句:char/s="\"Name\\Address\n";指针S所指字符串的长度是()。
随机试题
引起儿童黄疸型肝炎最常见的病原为
关于Ca2+通过细胞膜转运的方式,下列哪项描述正确
联合浮动
凭证式国债是一种()的储蓄型国债,由具备凭证式国债承销团资格的机构承销,而这种资格一般由()每年确定。
农产品的销售价格为V,生产成本为E,运输成本为T,农业经营利润P可表示为()。
50名同学面向老师站成一行。老师先让大家从左至右按1,2,3,…依次报数;再让报数是4的倍数的同学向后转,接着又让报数是6的倍数的同学向后转。现在面向老师的同学还有()。
结合我省实际,谈谈如何进行依法治省?
Whenapsychologistdoesageneralexperimentaboutthehumanmind,heselectspeopleandasksthemquestions______.
Whomightthespeakerbe?
A、Swimmingsuit.B、Airbed.C、Chair.D、Beachtowel.D
最新回复
(
0
)