首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
49
问题
使用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全国计算机二级
相关试题推荐
如果一个函数模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须重复使用关键词【】。
下列语句错误的是()。
有如下程序:classXX{protected:intk;public:XX(int=5):k(n){};~XX(){tout
如下程序的输出结果是main(){inta=2,b=-1,c=2;if(a<B)if(b<0)c=0;elsec++;cout<<c<<end1;}
有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是
已知在函数func()中语句this->ff=0;与语句fi=O;的效果完全相同。对于这一现象,下列表述中错误的是()。
在软件开发中,下面任务不属于设计阶段的是
A、 B、 C、 D、 D虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明中虚函数原型中,而不能在成员的函数体实现的时候。必须由成员函数来调用或者通过指针、引用来访问虚函数。
在软件测试设计中,软件测试的主要目的是()。
下列关于队列的叙述中正确的是
随机试题
目前ELISA技术中最常用的底物是
外源性致热原的特点,正确的是
A、针晶B、砂晶C、簇晶D、方晶E、柱晶龙胆含
甲、乙、丙在设立一家经营服装批发的A有限公司过程中,甲以A公司的名义与B公司签订购置一批设备的买卖合同,并约定A公司成立后支付购置款。后A公司因不符合公司法规定而未设立。则()。
存在工程地质原因造成的地基承载力、承载变形及其不均匀性的问题时,建筑结构选型不得选用()。
可行性研究的依据包括()等内容。
独立审判原则是指人民法院依照法律规定独立行使审判权,不受行政机关、社会团体和个人的干涉。李法官在审理一起二审民事案件中的哪一种做法违反了维护审判独立的原则?()
试论代理权行使的规则。
已知f(x)在(-∞,+∞)内连续,且对任意x有f(x)=f(x2),f(1)=a,试求f(x).
Whataretheygoingtodo?
最新回复
(
0
)