首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
70
问题
使用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全国计算机二级
相关试题推荐
能保证对所有的参数能够结束的递归函数是
以下关于友元函数的叙述不正确的是
如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为
以下程序的输出结果是inta,b;voidfun(){a=100;b=200;)main(){inta=5,b=7;fun();cout<<a<<b<<endl;}
下列有关数据库的描述,正确的是
在面向对象方法中,类之间共享属性和操作的机制称为______。
下列关于C++函数的说明中,正确的是()。
在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。已知有如下类定义:classBase{protected:voidfun(){}};classD
请将下列类定义补充完整。classBase{public:voidfun(){cout<<"Base∷fun"<<end1;}};c1assDehVed:publicBase{public:
随机试题
患者眩晕日久不愈,精神萎靡,腰酸膝软,少寐多梦,健忘。两目干涩,视力减退;或遗精滑泄,耳鸣齿摇;或颧红咽干,五心烦热,舌红少苔,脉细数;或面色恍白,形寒肢冷,舌淡嫩,苔白,脉弱尺甚。治当选用
女性患者56岁,洗澡时无意发现一颈部肿物来就诊,诉曾有过腹泻,心慌,抽搐等症状,但未在意,查:见其颜面潮红,实验室检查其血钙较低行放射治疗,下列预防口腔黏膜反应的措施中,错误的是()
患者男性,60岁,发病三天,始见小便量少,点滴而出,近半日突然小便点滴不通,伴小腹胀满,口苦口黏,口干不欲饮大便不爽。舌质红苔黄腻,脉弦数。
除尘器的技术性能指标主要包括( )。
甲、乙两公司的住所地分别位于北京和海口,甲向乙购买一批海南产香蕉,3个月后交货,但合同对于履行地点以及价款均无明确约定,双方也未能就有关内容达成补充协议,依照合同其他条款及交易习惯也无法确定。根据合同法律制度的规定,下列关于合同履行价格的表述中,正确的是(
请从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。()
______自然______朴素的生态设计观在经济快速发展,物质高度文明的当今时代毅然崛起,越来越多的人开始向往“天人合一”“师法自然”的境界,主张人与自然的和谐统一。席卷全球的生态主义浪潮促使人们站在科学的角度上重新______景观行业,全球各地的景观设
下列各项财政支出中,属于购买性支出的是()。
下列给定程序的功能是:从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用一1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数ReadText和Write.Text实现。请在程序的下划线处填入正确
A、Thetwopeoplecanlearnabouteachother’slikesanddislikes.B、Thetwopeoplecanhavetimetodecideiftheyaregoodmatc
最新回复
(
0
)