首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
86
问题
使用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全国计算机二级
相关试题推荐
以下内容属于存储在计算机内有结构的数据集合的是()。
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是
下面概念中,不属于面向对象方法的是______.
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
分布式数据库系统不具有的特点是
fun()函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数返回值。请填空完成此程序。#defineN100intfun(int(*A)[N]){in
下列运算符中不能在C++中重载的是
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是【 】。
随机试题
已知UDP的段结构如题50图所示,试写出其中各字段的长度及其含义并给出协议DNS、SNMP、QICQ和TFTP所使用的UDP端口号。
治痰火内郁,灼伤肺络之胸胁疼痛、咳吐痰血者,常用青黛配伍
以下对膝关节的描述,错误的是
下列职责中,属于药物警戒工作内容的是
某航空公司以正在建造中的大型客机设定抵押向银行贷款,但未办理抵押登记。下列说法符合《物权法》规定的是()。
建构主义学习理论的基本观点主要表现在以下三方面:______、______、______。
给定资料1.2015年12月,天津媒体曝出,“名门广场”和“水岸银座”两个问题楼盘将会被拆除,涉及业主超过万户;仅仅一个月前,西安市一座1999年封顶的118米高楼被爆破拆除,成为“中国第一拆”;几乎同时,郑州一座2010年建成的天桥,因与当地地
只有住在广江市的人才能够不理睬通货膨胀的影响;住在广江市的每一个人都要付税;每一个付税的人都发牢骚。根据上面的这些句子,判断下列各项哪项一定是真的?()Ⅰ.每一个不理睬通货膨胀影响的人都要付税。Ⅱ.不发牢骚的人中没有一
【B1】【B13】
______madetheBritishMonarch"SupremeHeadoftheChurchofEngland".
最新回复
(
0
)