首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des.char*str,char c,char*str2)的功能是: 如果s仃中包含字符“!”,则替换成“a;
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des.char*str,char c,char*str2)的功能是: 如果s仃中包含字符“!”,则替换成“a;
admin
2021-06-10
67
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des.char*str,char c,char*str2)的功能是:
如果s仃中包含字符“!”,则替换成“a;
如果str中包含字符“&”,则替换成b;
如果str中包含字符“*”则替换成str2。
并用函数返回目标转换后的指针。
注意:只能补充函数convert(char*des,char*str,char*str2)。
#include
#include
#define MAXLEN 1024
void convert(char*des,char*
str,char*str2)
{
}
void main()
{
char dest[MAXLEN];
char*str=”!&cefghi*!&”;
char*str2=”Jklm”;
convert(dest,str,str2);
cout<
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)由审题分析可知,利用循环中不断检索s仃字符串每一个字符,循环变量i从0开始,直到到了str字符结束,即srt
==NULL为循环判断结束条件。
(2)在循环体内,用ifelse语句判断是不是“!”、“&”或“*”这些特定的字符,如果是这些特定的字符则进行相应的替换,如果不是则将该字符直接加在des后面。
(3)字符串的连接可以使用字符串连接函数strcatO,将新字符连接在des后面,即strcat(des,temp)。
转载请注明原文地址:https://kaotiyun.com/show/ikfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
阅读下面程序:#includefun(inta’intb){intc;c=a+b:returnc;}voidmain0{intx=6,y=7,z=8,r;
下列关于this指针的叙述中,正确的是()。
下列关于类定义的说法中,错误的是
有如下语句序列:charstr[10];cin>>str;当从键盘输入"Ilovethisgame"时,str中的字符串是()。
下面对静态数据成员的描述中,正确的是()。
若x和y是程序中的两个整型变量,则下列if语句中正确的是
下列运算符函数中,肯定不属于类Number的成员函数的是
请打开考生文件夹下的解决方案文件proj3,本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.cpp、writeToFile.obj。补充完成晕载赋值运算符函数,完成深复制功能。屏幕上输出的正确结果应该是:
请打开考生文件夹下的解决方案文件proj2,此工程中含有一个源程序文件proj2.epp。函数char*GetNum(char*src,char*buf)从sre开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间buf中。函数返回扫描的终止
分析下面程序,该程序的运行结果是()。#inc1ude<iostream.h>classTestclass{public:staticintm,Testclass(){
随机试题
肾病综合征的首发表现是
如图4一1一23所示平面结构,受集中力P、均布力q和力偶矩M作用,几何尺寸和各处约束如图示。则固定端C处的水平约束反力应为()。
成本偏差分析可采用不同的表达方法,常用的有( )。
下列关于生活常识的说法错误的是()。
随着农村人口快速向城市转移,教育资源的供给并未随之增容,如调整中小学布局,扩建、新建学校,调配师资,单纯靠挖掘潜力“加双筷子”的办法,终究难以为继。人口城市化是不可逆的趋势,促进城乡教育均衡化,不是简单把农村学生留在农村,事实上也是留不住的;应顺应城市化发
民主政治体制是经济持续进步的基本条件。请讨论之。
联系我国法治现状,论述立法民主原则的内容、要求及意义。
[*]
设f(x)在[a,b]上连续,且f(x)>0,证明:存在ξ∈(a,b),使得∫0ξf(x)dx=∫ξbf(x)dx.
Collegestudentsarepayingmore.Theyaretakingonmoredebt.Theyareacceptingworsejobsaftertheygraduateandearningle
最新回复
(
0
)