首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
66
问题
使用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;voidinitialize(intprintNo,intstate=0);voidinitialize(in
软件测试的常用方法通常可分为白盒测试和【】。前者是根据程序的内部逻辑来设计测试用例,后者是根据软件的规格说明来设计测试用例。
有如下程序#include<iostream.h>intfunc(inta,intb){return(a+b);}voidmain(){intx=2,y=5,
下面的语句中错误的是
在C++语言中,不合法的实型数据的是
下列工具中为需求分析常用工具的是
有如下程序:#includeusingflamespacestd;className{charname[20];public:Name(){strcpy(name,“”);cout
已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则
有如下的函数定义:intXfun(int*a,intn){intX*a;for(int*pa=a+1;paif(*pa>x)x=*pa;retumx;}若在执行了语句:intx[5]
随机试题
输精管呈念珠样改变常见于:
结构在使用年限超过设计基准期后
下列属于自然血亲关系的是【】
非结算会员向期货交易所支付的手续费,由期货交易所从()期货保证金账户中划拨。
某盐场2015年占地300000平方米,其中办公楼占地20000平方米,盐场内部绿化占地50000平方米,盐厂附属医院占地10000平方米,盐滩占地120000平方米,盐场附属盐矿的矿井用地100000平方米。盐场所在地城镇土地使用税单位税额每平方米1元。
2001年北京用电量为( )。如果上海用电量比北京多15%,则上海用电量为( )。
Childrenmodelthemselveslargelyontheirparents.Theydosomainlythroughidentification.Childrenidentify【C1】______apa
治理通货膨胀的意义是什么?[北京理工大学2004研]
唯物史观第一次科学地解决了历史创造者的问题,认为人民群众是历史的创造者。人民群众
PassageOneExplainthemeaningof"liveuptotheirhype"accordingtothecontext(Para.2).
最新回复
(
0
)