首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
2016-10-28
81
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。
请完成函数fun(char*str,char ch),本函数采用二分法,在己按字母次序从小到大排序的字符数组str中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回-1。
二分法查找的思想是:初始查找区间的下界为0,上界为len-1,查找区间的中后,k=(下界+上界)/2;若list[k]等于ch,查找成功;若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。在新区间内继续用二分法查找。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include<iostream.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<<"请输入一个字符:"<<endl;
cin>>ch;
cout<<"输入数字的位置是:"<<fun(str,ch)<<endl;
return;
}
选项
答案
int low=0;//初始查找区间的下界 int high; int k; for(high=0;str[high]!=0;high++)//求字符串长度 while(low<high)//循环判断字符位置 { k=(low+hlgh)/2; if(str[k]==ch) return k; else if(str[k]>ch) high=k-1; else low=k+1; } if(str[low]==ch) return low; return -1;
解析
(1)首先,初始查找区间的下界为0。
(2)然后,求得字符串长度len,上界为len-1,查找区间的中后,k=(下界+上界)/2;若list[k]等于ch,查找成功。
(3)若list[k]>ch,则新的查找区间的下界不变,上界改为k-1:否则新的查找区间的下界改为k+1,上界不变。
转载请注明原文地址:https://www.kaotiyun.com/show/yONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若运行时给变量x输入12,则以下程序的运行结果是#include<iostream.h>voidmain(){intx,y;cin>>x;y=x>12?x+10:x-12;
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
在ios中提供控制格式的标志位中,()是转换为十六进制形式的标志位。
C++中封装性、继承性和【】是面向对象思想的主要特征。
以下关于C++语言类的说法中正确的是
下列数据模型中,具有坚实理论基础的是
下列语句段将输出字符’*’的个数为()。inti=100;while(1){i--;if(i==0)break;cout<<’*’;}
在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
在C++中,实现封装性需借助于
在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例称为“______”。
随机试题
Ideasabout"spoiling"childrenhavealwaysinvolvedconsiderationofjustwhatisaspoiledchild,howdoesspoilingoccur,and
管子对口时用的对口工具在焊口点焊完后即可松掉。()
患者男,37岁,主诉鼻塞11个月伴左侧头痛,鼻塞重时头痛亦加重,有时有黏涕流出,不伴鼻出血,已在内科就诊未发现相关疾病,来耳鼻咽喉科就诊见鼻中隔左后段矩状嵴与中鼻甲及下鼻甲相抵,右下鼻甲肥厚且后端灰白呈结节样改变,遂诊断为“鼻中隔偏曲”及“慢性肥厚性鼻炎”
将放大倍数为1,输入电阻为100Ω,输出电阻为50Ω的射极输出器插接在信号源(uS,RS)与负载(RL)之间,形成图b)电路,与图a)电路相比,负载电压的有效值()。
依据《噪声污染防治法》,判断下列哪些说法是错误的?()
1966年,联合国教科文组织在《关于教师地位的建议》中提到,应该把教师工作视为______职业,认为它是一种要求教师具备经过严格训练而持续不断的研究才能获得并维持专业知识及专门技能的公共服务。
庞德说,“法律的生命在于它的实行”,霍姆斯说,“法律的生命不在逻辑,而在经验”。利用法的实施的观点,上述命题论述正确的是()。
Overthepastdecade,significantresearchhasdemonstratedwhatmanyhaveknownforalongtime:womenarecriticaltoeconomic
TheInvisibleFuelProvidesEnsuranceforEnergySecurityintheFutureA)Whenenergyeconomistsgazeintotheircrystalballst
TypesofClimateClimateisthecombinationoftemperature,moisture,wind,andsunshineataplaceoveraperiodofmanyye
最新回复
(
0
)