首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*str,char ch),本函数采用二分法,在已按字母次序从小到大排序的字符数组s仃中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回一1。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*str,char ch),本函数采用二分法,在已按字母次序从小到大排序的字符数组s仃中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回一1。
admin
2020-05-14
78
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*str,char ch),本函数采用二分法,在已按字母次序从小到大排序的字符数组s仃中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回一1。 ;
二分法查找的思想是:初始查找区间的下界为0,上界为1en-1,查找区间的中后,k=(下界+上界)/2;若list[k1等于ch,查找成功;若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。在新区间内继续用二分法查找。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include<10Stream.h>
int fun(char*str,char ch)
{
}
void main()
{
char str[]={’a’,’b’,’c’,’d’,‘e’,‘f’,’g’,’h’,’i’,’j’,’k’,0};
char ch;
cout<<“请输入一个字符:”<
cin>>ch,
cout<<“输入数字的位置是:”<
return;
}
选项
答案
int low=0, //初始查找区间的下界 int high; int k ; for(high=0;str[high]!=0 ; high++) //求字符串长度 while(10w
ch) high=k一1 ; else low=k+1 ; } if(str[low]==ch) return low; return一1 ;
解析
根据题干中给出的二分法查找思想,从已给部分源程序的main主函数开始入手,核心函数int fun(char*str,char ch)中的ch参数为输入的字符,其中返回值为ch所在的位置。
解题思路
(1)首先,初始查找区间的下界为0。
(2)然后,求得字符串长度len,上界为len.1,查找区问的中后,k=(下界+上界)/2;若list[k]等于ch,查找成功。
(3)若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。
转载请注明原文地址:https://kaotiyun.com/show/Vv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
虚函数必须是类的
下列语句错误的是()。
若执行以下程序时从键盘上输入9,则辅出结果是 main() {int n; cin>>n; if(n++<10)cout<<n<<endl; else cout<<n--<<endl; }
若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是()。
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。
A、 B、 C、 D、 B对数组定义为普通数组时,要求数组的下标是常表达式,若定义成数组指针则不需要指定数组的大小。
下面关于纯虚函数和抽象类的描述中,______是错误的。
下面不属于C++的预定义的流对象是()。
下列有关继承和派生的叙述中,正确的是()。
下列叙述中正确的是
随机试题
慢性肾小球肾炎晚期的主要病理变化是
市场预测的主要统计模型不包括
下列广义积分中收敛的是()
下颌骨易发生骨折的薄弱部位为,除了
党的领导是社会主义法治的根本保证。关于党的领导与司法机关依法独立行使职权的关系,下列说法中不正确的是:()
背景:某活动中心工程,地下1层,地上3层,建筑面积12300m2,结构为框架结构,工程于2011年3月20日开工,计划于2011年12月25日竣工,在施工过程中发生了以下事件:事件一:由于选址的原因,地基不好,因此基础下面设计有25根直
对下列犯罪行为分析正确的是()。
A.右前斜角肌内侧缘B.肩胛舌骨肌中间腱以上的颈内静脉周围C.二腹肌后腹与面总静脉汇入颈内静脉处D.颈横动脉、静脉的浅面E.肩胛舌骨肌中间腱以下的颈内静脉周围颈深下淋巴结位于()。
Healwayshasalotof______ideasinhismind,andsometimeswedonotevenknowwhatheisthinkingabout.
RealWorld&RealLearningIMDINTERNATIONAL—EXECUTIVEMBAFocusedongeneralmanagement,str
最新回复
(
0
)