首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
56
问题
使用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打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。完成函数ToUpper(char木des,char*str),该函数实现把str字符串中小写字符转换成大写字符,并存发在des中。例如:str=“aBc
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序在界面上输出为:平均值为:29最大值为:112最小值为:-11注意:错误的语句在∥********
使用VC6打开考生文件夹下的源程序文件modil.cpp。本程序要求输入一字符串,然后将其中的小写字母改变成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到界面。注意:不要改动main函数,不能增行或删行,也不能
要定义整型数组x,使之包括初值均为1的三个元素,下列语句正确的是
下面属于黑盒测试方法的是
若x和y是程序中的两个整型变量,则下列if语句中合法的是
下列符号中能够作为C++标识符的是()。
下列关于模板的叙述中,错误的是
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
数据库设计过程不包括
随机试题
执业药师的作用有
患者,男性,45岁,上呼吸道感染未痊愈,自动要求出院。护士需做好的工作不包括
术后意识恢复障碍的原因有
科目编码首位为1代表()类。
企业支付的违约金会导致企业经济利益流出企业,所以应作为企业的费用核算。()
水彩画中水、色的相互渗化,会产生丰富的色彩变化。但学生在实践的过程中,往往不能较好地掌握用笔、用水、用色等要领。请你结合教学实际,列举学生在运用水、色的相互渗化时容易出现的问题,并提出解决的方法。
“累计认识常用汉字2500个左右,其中1600个左右会写”属于()的学习目标。
下列有语法错误的赋值语句是
AsufferfromastrokeBwillbeaffectedCchangetheirlifestylesDwilltakeplaceEoccursatthebackofhis/herbrainFco
NewresearchconductedbybrainresearcherAviKarnioftheUniversityofHaifainIsraelexploresthepossibilitythatnapshel
最新回复
(
0
)