使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str,char c,char*str2)的功能是: 如果str中包含字符“!”,则替换成’a’; 如果str

admin2019-05-29  43

问题 使用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
0

相关试题推荐
随机试题
最新回复(0)