首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
33
问题
使用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全国计算机二级
相关试题推荐
有以下程序:#include<iostream>usingnamespacestd;classA{public:virtualvoidsetx(inti,int
若有以下程序:#include<iostream>usingnamespacestd;classsample{private:intn;public:sample(){}
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2}:则下列语句正确的是
有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;}intx;
下面程序的运行结果是【】。#include<iostream>usingnamespacestd;classcount{staticintn;public:
如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为
有如下类定义:classSample{public:Sample();~Sample();private:staticintdata;};将静态数据成员data初始化为0的语句是【】。
计算斐波那契数列第n项的函数定义如下:intfib(intn){if(n==0)return1;elseif(n==1)return2;elsereturnfib(n-1)+ilb(n-2);}若执行函数调用表达式fib(
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
随机试题
绿色施工管理的内容主要包括组织管理、规划管理、实施管理、评价管理和()
交叉配血试验的目的是
【2014专业知识真题上午卷】在民用建筑中,关于高、低压电器的选择,下列哪项描述是错误的?()
泰国产鲜芒果
限定性集合资产管理计划投资于股票等权益类证券以及股票型证券投资基金的资产,不得超过该计划资产净值的()。
下列选项中,属于商业银行的资产的有()。
SometimebetweendigestingChristmasdinnerandputtingyourheadbackdowntowork,spareathoughtortwoforthecranberry.
A、 B、 C、 B由“我今天去看医生了。”可知图B符合题意。关键词为gotoseeadoctor。
Wherethereisnoproductyetmeetinganeed,theopportunitiesareunlimited.
A、Tofindthesimilarityofsoybeansintheworld.B、Toprotectsoybeansagainstdrycondition.C、Tocollectmaterialsfortheir
最新回复
(
0
)