首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
58
问题
使用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://kaotiyun.com/show/yONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
类模板不同于函数模板,类模板只可用【】型参数。
下列运算符中哪些是不能够被重载的?
有如下程序:#include<iostream>usingnamespacestd;template<typenameT>Ttotal(T*data){Ts=0;While(*dat
有以下程序:#include<iostream.h>voidmain(){intx=10,y=10;for(inti=0;x>8;y=++i)cout<<x--<<","<<y<<","
数据模型按不同应用层次分成3种类型,它们是概念数据模型、【】和物理数据模型。
下列叙述中错误的是()。
有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是
c++流中重载了运算符<<,它是一个
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
随机试题
清气化痰丸的正确用法
用双缩脲法测定总蛋白时以下哪种说法是错误的
肾上腺素能药物的侧链氨基绝大多数为
宏达公司20B2年9月上旬发生经济业务如下:(1)向银行借入偿还期为一年的短期借款130000元,款项已收存银行。(2)收回甲公司前欠的产品销售款80000元。(3)收到投资者作为资本投入的专利技术一项,双方确认的价值为120000元。(4)向乙公司购买材
张某为某期货公司职员,2012年9月1日,因其从事的期货业务行为涉嫌违法违规被调查处理,一个月后,该期货公司向协会报告。该期货公司()。
2/3,1/2,3/7,7/18,( )
预测编码中,DPCM系统包括发送、接收和(48)_________三个部分。
HowwillthemangotoBeijingZoo?
Whattimewasthemeetingtoday?
GreenSpacesincitiesWheredochildrenplay?Yearsago,anyopenfield,anyvacantlot,anygrouppftrees--thesewerethe
最新回复
(
0
)