首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(char*str,char ch)的定义,本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回1。
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(char*str,char ch)的定义,本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回1。
admin
2020-06-29
65
问题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(char*str,char ch)的定义,本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回1。
二分法查找的思想是初始查找区间的下界为0,上界为len-1,查找区间的中部后,k=(下界+上界)/2;若list[k]等于
ch,查找成功;若1ist[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。在新区间内继续用二分法查找。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填人所编写的若干语句。
试题程序:
#include
int fun(char*str,char ch)
{
}
void main()
{
char str[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’};
char ch;
cout<<"请输入一个字符:"<
cin>>ch:
cout<<"输入字符的位置是:"<
return;
}
选项
答案
int low=0; //初始查找区间的下界 int high; int k; for(high=0;str[high]!=0.high++) //求字符串长度 while(low(high) //循环判断字符位置 { k=(low+high)/2: if(str[k]==ch) return k; else if(str[k]>ch) high=k-1; else low=k+1: } if(str[low]==ch) return tow; return -1;
解析
本题首先初始查找区间的下界为0,然后求得字符串长度len,上界为len-1,查找区间的中部后,k=(下界+上界)/2;若tist[k]等于ch,查找成功。若list[k])ch,则新的查找区间的下界变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。
转载请注明原文地址:https://kaotiyun.com/show/mbyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示坐标的类TestClassl,但类TestClassl的定义并不完整,按要求完成下列操作,将类的定义补充完整。(1)声明TestClass2类为TestClassl类的友元类,请
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函娄factor(int*des,int&length,intn)实现的功能是:将11所有基数存放到des中,通过length引用返回因数的个数,比如fa
有如下类声明:classHow{intk;public:voidshow()const{cout
数据库设计中反映用户对数据要求的模式是( )。
下列有关函数重载的叙述中,错误的是()。
下列关于函数模板的表述中,正确的是
Sample是一个类,且有如下语句:Samplea[2],*p=newSample;执行这个语句时调用Sample类的构造函数的次数是
面向对象方法中,继承是指( )。
随机试题
既有过敏毒素作用又有趋化作用的补体活性片段是
已知直线l过点P(-1,2),且与以A(-2,-3),B(3,0)为端点的线段相交,那么直线l的斜率的取值范围是()。
王安电脑公司曾是美国IT企业界一颗闪亮的明星。美籍华裔科学家、企业家王安在美国波士顿创办了一家驰名世界的“王安电脑公司”,他从600美元投资开始,经过40多年的艰苦奋斗,已发展成为一家拥有3万多名员工,30多亿美元资产,在大约60多个国家和地区设有250家
规定了怎样用一种网络层协议去封装另一种网络层协议的方法的协议是()
某商店将不合格商品作为合格商品出售,王某明知而故意购买,商店同王某之间()。A.构成欺诈的行为B.基本构成欺诈的行为C.无论如何都构成欺诈行为D.因王某明知而不构成欺诈行为
造成右侧后牙反牙合,左侧有大量牙垢的原因造成腭盖高拱、牙弓狭窄、下颌后缩的原因
安装张拉设备时,关于张拉力作用线与预应力筋中心线关系的说法,正确的是()。
某人退休时有现金10万元,拟选择一项回报比较稳定的投资,希望每个季度能收入2000元补贴生活。那么,该项投资的有效年利率应为()。
确定培训需求的手段主要有:()。
近年来,报业经济规模总量虽在增长,但与互联网等新兴媒体相比,报业收入增长速度已经落后。现阶段,报业依靠规模和资源依然还能实现常规发展,也远未进入发展的“衰退期”,但从应对经营内容和运营模式因同质化带来的可替代性与微利化趋势、迎接新兴媒体对广告和受众双重市场
最新回复
(
0
)