首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是: 如果str中包含字符“!”,则替换成’a’; 如果str
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是: 如果str中包含字符“!”,则替换成’a’; 如果str
admin
2019-05-29
93
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是:
如果str中包含字符“!”,则替换成’a’;
如果str中包含字符“&”,则替换成’b’;
如果str中包含字符“*”,则替换成str2。
并用函数返回目标转换后的指针。
注意:只能补充函数convert(char*des*char*str,char*str2).
#include<iostream.h>
#include<cstring>
#defineMAXLEN1024
void convert(char*des,char*Str,char*str2)
{
}
void main()
{
char dest[MAXLEN];
char* str="!&cefghi*!&";
char*str2="jklm";
convert(dest,str,str2);
cout<<dest<<endl;
return;
}
选项
答案
des[0]=0; char temp[2]={0,0}; for(int i=0;str[i]!=NULL;i++) { if(str[i]==’!’) { temp[0]=’a’;//替换成’a’ strcat(des,temp); } else if(str[i]==’&’) { temp[0]=’b’; strcat(des,temp);//替换成’b’ } else if(str[i]==’*’) { strcat(des,str2);//替换成str2 } else { temp[0]=str[i]; strcat(des,temp);//其他情况则添加在后面 } }
解析
(1)由审题分析可知,利用循环中不断检索str字符串每一个字符,循环变量i从0开始,直到到了str字符结束,即srt
==NULL为循环判断结束条件。
(2)在循环体内,用ifelse语句判断是不是“!”、“&”或“*”这些特定的字符,如果是这些特定的字符则进行相应的替换,如果不是则将该字符直接加在des后面。
(3)字符串的连接可以使用字符串连接函数strcat(),将新字符连接在des后面,即strcat(des.temp)。
转载请注明原文地址:https://kaotiyun.com/show/268p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
2首先声明为private的“private:intj;”中j为私有成员。然后在类中没有指定,系统默认为私有。即“inti:”中的i也是私有成员。所以本题中的私有成员数量为2。
A、 B、 C、 D、 Apb作为基类指针,可以指向派生类对象,但是它只能访问基类的成员函数,而不能访问派生类的成员函数,所以pb->show();访问的是基类的show()函数,故打印10,20。
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
ABBA此题考查的是类的构造与析构。建立类的对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右)->执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序->执行自身的构造函数。析构顺序与之相反。
针对数组定义intdata[10];,下列叙述中错误的是A)用*data可访问到数组的首元素B)用data[9]可访问到数组的末元素C)用data[10]访问数组元素会超出数组的边界D)data共有10个元素,其首元素是data[1]
下列叙述中错误的是A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持
下列选项中不全是c++语言关键字的是
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
下面字符串中,不可以用作C++标识符的是()。
下列字符串中可以用作C++语言标识符的是
随机试题
女,36岁。肾病综合征患者,血白蛋白15g/L。近2日感右侧腰部隐痛,尿色偏深,无明显尿频、尿急、尿痛。尿常规:RBC20~40/HP。WBC0~2/HP。B超:双肾、输尿管未见异常。应首先考虑的合并症是
关于健康危险因素的叙述正确的是()。
患者,女,55岁。头晕头痛,心悸耳鸣,失眠多梦,急躁易怒,脉细弦。治疗应首选
下列各项中不符合成人特发性血小板减少性紫癜特征的是()
现金清查中,无法查明原因的长款,批准处理应记入()账户核算。
应对方式问卷的评分方法正确的有()。
【2015年四川.单选】学生小敏近段时间总是反复检查自己的考卷、作业、书包等,总认为试题有遗漏,作业没做完,书包里的东西没收完……这些行为表明他有()倾向。
渎职罪是一种典型的职务犯罪,其犯罪主体是从业人员。()
以下属于古代美洲文明的是()。①玛雅文明②克里特文明③阿兹特克文明④印加文明
某汽车加工工厂有两条装配线L1和L2,每条装配线的工位数均为n(Sij,i=1或2,j=1,2,…,n),两条装配线对应的工位完成同样的加工工作,但是所需要的时间可能不同(aij,i=1或2,j=1,2,…,n)。汽车底盘开始到进入两条装配线的时间(e1,
最新回复
(
0
)