首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
2018-10-23
41
问题
使用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)。
1 #include<iostream.h>
2 #include<cstring>
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* dtr2=’’jklm’’;
13 convert(dest,str,str2);
14 cout<<dest<<end1;
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]j 22 strcat(des,temp);//其他情况则添加在后面 23 } 24 }
解析
函数convert(char*des,char*str,charc,char*str2)的功能是将str中包含的特定字符替换成其他字符,因此可利用循环搜索str字符串,找到特定字符后进行替换。
(1)由审题分析可知,利用循环中不断检索str字符串每一个字符,循环变量i从0开始,直到到了sir字符结束,即srt
=NULL为循环判断结束条件。
(2)在循环体内,用ifelse语句判断是不是“!”、“&”或“*”这些特定的字符,如果是这些特定的字符则进行相应的替换,如果不是则将该字符直接加在des后面。
(3)字符串的连接可以使用字符串连接函数strcat(),将新字符连接在des后面,即strcat(des,temp)。
转载请注明原文地址:https://kaotiyun.com/show/HwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
内联函数是通过______来实现的,因此内联函数是真正的函数。
下面程序的结果是()。#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;}};Cl
下面程序输出的结果为#include"iostream.h”classA{public:A(){cout<<"CLASSA"<<endl;}~A(){}};class
只能作为成员函数重载的是
C++语言中关于构造函数的说法正确的是
函数inttest(inta,intb=1,intc=0),下列调用不合法的个数是test(0);test(0,0);test();test(0,0,0);
一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为()。
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i}private:intvalue;
以下程序中,while循环的循环次数是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;)}
下列关于运算符重载不正确的是()。
随机试题
心室肌细胞动作电位形成的离子基础是
患者,男,18岁。发热恶寒,鼻塞头痛,咽部红肿,口干溲黄,舌苔薄黄,脉数有力。用药宜首选
影响糖代谢、致使血糖异常升高的药物有
以法制现代化最初的动力来源为尺度,通常把法制现代化模式划分为下列哪些样式?()
两笔金额相等的资金,如果发生在不同的时期,其实际价值量也是不相等的。这是因为()。
甲公司是乙公司的母公司,2016年5月2日,甲公司出售200件商品给乙公司,每件不含增值税售价为6万元,每件成本3万元。至2016年12月31日,乙公司从甲公司购买的上述商品尚有100件未对外出售,其可变现净值为每件2.5万元。假设不考虑其他因素,编制合并
超文本中隐含的指向其他超文本的链接称为________。
影响人的身心发展的主要因素是()
公安机关在办理刑事案件中,从()等方面对未成年犯罪嫌疑人的诉讼权利加以保障。
2009年1—3月,入境旅游的日本游客人数约为()。
最新回复
(
0
)