首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是: 如果str中包含字符“!”,则替换成…a;
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是: 如果str中包含字符“!”,则替换成…a;
admin
2015-05-30
40
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是:
如果str中包含字符“!”,则替换成…a;
如果str中包含字符“&”,则替换成…b;.
如果str中包含字符“*”,则替换成str2。
并用函数返回目标转换后的指针。
注意:只能补充函数convert(char*des,char*str.1 char*str2)。
1 #include
2 #include
3 #define MAXLEN 1024
4 void convert(char*des , char*str,char*str2)
5 {
6
7 }
8 void main()
9 {
10 char dest[MAXLEN];
11 char*str="!&cefghi*!&";
12 char*str2="Jklm";
13 convert(dest,str,str2);
14 cout<
15 return;
16 }
选项
答案
1 des[0]=0 ; 2 char temp[2]={0,0); 3 for(int i=0 ; str[i]!=NULL; i++) 4 { 5 if(Str[i]==’!’) 6 { 7 temp[0]=’a’; //替换成’a’ 8 strcat(des,temp); 9 } 10 else if(str[i]==’&’) 11 { 12 temp[0]=’b’; 13 strcat(des,temp); //替换成-b- 14 } 15 else if(str[i]==’*’) 16 { 17 Strcat(des,str2); //替换成str2 18 } 19 else 20 { 21 temp[0]=str[i]; 22 strcat(des,temp); //其他情况则添加在后面 23 } 24 }
解析
函数convert(char*des,char*str,char c,char*str2)的功能是将str中包含的特定字符替换成其他字符,因此可利用循环搜索str字符串,找到特定字符后进行替换。
[解题思路]
(1)由审题分析可知,利用循环中不断检索str字符串每一个字符,循环变量i从0开始,直到到了str字符结束,即srt
=NULL为循环判断结束条件。
(2)在循环体内,用ifelse语句判断是不是“!”、“&”或“*”这些特定的字符,如果是这些特定的字符则进行相应的替换,如果不是则将该字符直接加在des后面。
(3)字符串的连接可以使用字符串连接函数strcat(),将新字符连接在des后面,即strcat(des,temp)。
转载请注明原文地址:https://kaotiyun.com/show/2JNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下定义语句中,错误的是______。
阅读下面的程序:#include<iostream.h>voidmain(){intx;cin>>x;if(x++>5)cout<<x<<endl;else
软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及()。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
下列说法有错误的是______。
只有当整数x为奇数时,其值才是true的表达式是______。
一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间是______。
要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是______。
已知在函数func中语句this->ff=0;与语句ff=O;的效果完全相同。对于这一现象,下列表述中错误的是
有如下函数模板定义:template<typenameT1,typenameT2,typenameT3>T2plus(T1t1,T3t3){returnt1+t3;}
随机试题
甲公司向银行贷款以购置生产设备,乙公司将其厂房一栋抵押给银行作为甲向银行借款的担保,丙公司为甲公司到期不能清偿银行借款提供全额保证。则下列表述正确的是()。
下列选项中,属于城市总体规划相关文件的有()。
依法必须招标的工程,建设单位采用公开招标方式选择监理单位承担施工监理任务,工程施工过程中发生如下事件:事件1:编制监理招标文件时,建设单位提出投标人除应具备规定的工程监理资质条件外,还必须满足下列条件:(1)具有工程招标代理资质
实行集中申报的进出口货物,应当适用()。
【真题(初级)】下列会计核算的基本前提中,属于规范会计核算空间范围的是()。
汇总记账凭证账务处理程序的适用范围为()。
国家将个人所得税起征点由2000元上调至3500元,其他条件不变,下列说法中正确的是()。
梭伦改革的原因、内容及意义。
心脏的搏动引起血液循环。对同一个人,心率越快,单位时间进入循环的血液量就越多。血液中的红血球运输氧气。一般地说,一个人单位时间通过血液循环获得的氧气越多,他的体能及其发挥就越佳。因此,为了提高运动员在体育比赛中的竞技水平,应该加强他们在高海拔地区的训练,因
有如下程序:#include<iostream>usingnamespacestd;voidfunction2(intn);voidfunction1(intn){if(n<=0)retum;fu
最新回复
(
0
)