首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
2017-03-22
67
问题
使用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
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<<"输入数字的位置是:"<<
fun(str,ch)<
return;
}
选项
答案
int low=0; //初始查找区间的下界 int high; int k; for(high=0;str[high]!=0;high++) //求字符串长度 while(low
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://kaotiyun.com/show/YnAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数模板的定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中不正确的是
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2}:则下列语句正确的是
下面有关重载函数的描述中正确的是
有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;}intx;
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
关于二义性的描述错误的是
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
如下程序定义了“单词”类word,类中重载了
请将下面的类Date的定义补充完整,使得由语句:DateFirstDay;定义的对象FirstDay的值为2010年1月1日。classDate{public:Date(______):year(y),month(
随机试题
在有效授权的沟通技能中,需要明确授权的()
A.饮用清水反复洗胃B.饮用蛋清水200mlC.注洗器胃管洗胃D.自动洗胃机洗胃E.口服5%硫酸镁导泻食物中毒清醒者首选的抢救方法是
A.普罗帕酮B.厄贝沙坦C.卡托普利D.利多卡因E.辛伐他汀属于血管紧张素Ⅱ受体拮抗剂的是()。
化疗的不良反应不包括
组成《标准建设招标文件》建设施工合同的文件包括()。
下列岩石属于沉积岩的是()。
某机电安装工程公司承接某综合性设施的通风空调安装工程,在施工准备阶段,该机电安装工程公司制定了施工方法和施工工艺,在制定过程中兼顾了进度控制、质量控制、成本控制三大目标,使得各工序施工活动的质量得到了有效控制。同时该机电安装工程公司对施工环境也制定了相应的
固定资产原值为200000元,预计净残值为10000元。预计使用年限为5年,则按双倍余额递减法计算的固定资产年折旧率为()
深度为7的二叉树共有127个结点,则下列说法中错误的是
AbsenteeisminBritain______.
最新回复
(
0
)