首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*str,char ch),本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若,ch在数组中,函数返回字符ch在数组中的下标,否则返回-1。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*str,char ch),本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若,ch在数组中,函数返回字符ch在数组中的下标,否则返回-1。
admin
2018-10-23
77
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*str,char ch),本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若,ch在数组中,函数返回字符ch在数组中的下标,否则返回-1。
二分法查找的思想是:初始查找区间的下界为0,上界为leI-1,查找区间的中后,k=(下界+上界)/2;若lrst[k]等于ch,查找成功;若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。在新区间内继续用二分法查找。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
1 #include<iostream.h>
2 int fun(char*str,char ch)
3 {
4
5 }
6 void main()
7 {
8 char str[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,0};
9 char ch;
10 cout<<’’请输入一个字符:’’<<end1;
11 cin>>ch;
12 cout<<"输入数字的位置是:’’<<fun(str,ch)<<end1;
13 return;
14 }
选项
答案
1 int low=0; //初始查找区间的下界 2 int high; 3 int k; 4 for(high=0;str[high]!=0;high++)//求字符串长度 5 while(low<high)//循环判断字符位置 6 { 7 k=(low+high)/2; 8 if(str[k]==ch) 9 return k; 10 else if(str[k]>ch) 11 high=k-1; 12 else low=k+1; 13 } 14 if(str[low]==ch) 15 return low; 16 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/45Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于以下带参数的main()函数的第二形参,voidmain(intargc,______),不可能的形式是
已知语句intm=10;则下列引用的表示中正确的是
有以下程序:#include<iostream>usingnamespacestd;intmain(){intx=15;while(x>10&&x<50){x+
下列有关数据库的描述,正确的是
数据库恢复是将数据库从______状态恢复到某一已知的正确状态。
在面向对象方法中,类之间共享属性和操作的机制称为______。
下列程序的运行结果是()。#include<iostream.h>intx=5;intfun(intA){intC;C=X*a;returnC;}voidmain()
下列关于C++函数的说明中,正确的是()。
在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。已知有如下类定义:classBase{protected:voidfun(){}};classD
随机试题
拟在8度地震区新建一栋二层钢筋混凝土框架结构临时性建筑,以下何项不妥?
【背景资料】某城市桥梁工程的钻孔灌注桩成孔方法采用正循环回转钻孔原理,在钻孔的过程中产生了钻孔偏斜,施工人员采取了补救措施后,才使得钻孔顺利进行。该施工单位档案管理人员对施工全过程中形成的施工技术文件进行了组卷,卷内的文件排列顺序依次是:封面、目录、文
对改建、扩建和重要部位维修的工程,凡结构和平面布置等改变的,应当重新编制建设工程档案,并在工程竣工后( )个月内向城建档案馆报送。
依据《中华人民共和国建筑法》规定,从事建筑活动的( ),应当依据相应的执业资格证书,并在执业资格证书许可范围内从事建筑活动。
采用逐步结转分步法的缺点是()。
某工业园区发展多年后,大批员工子女陆续到了入园入学的年龄,但因工业园周边教育资源不足、户籍管理制度受限等问题,员工子女入同就学难,社会工作者小方经过充分调研,向政府提交“关于解决工位园区员工子女入园就学难问题的建议”提案,建议地方政府、工业园区管委会及相关
在下列句子的空缺处依次填人成语,最恰当的一组是()教养是一个人处世时的一种敬重态度。教养的获得是不可________的,它是长期规训和自我修炼的结果。虽然大家都知道教养是一个人处世的通行证,但是,一些人对教养的修炼就是________,依
这棵树一定属于我们。
选取“近两年销售情况表”的“产品名称”列和“增长比例”列的单元格内容,建立“簇状圆锥图”,x轴上的项为产品名称,图表标题为“近两年销售情况图”,插入到表的A7:E18单元格区域内。
(1)LouisArmstrongisrightlylaudedasoneofthemostinfluentialjazzartistsofalltime,butlessfrequentlyappreciatedi
最新回复
(
0
)