首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char*s2)中形参字符串s1和s2有相同的字符个数,且s1中各字符互不相同。该函数实现将已知字符串s中所有在字
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char*s2)中形参字符串s1和s2有相同的字符个数,且s1中各字符互不相同。该函数实现将已知字符串s中所有在字
admin
2017-09-20
81
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char*s2)中形参字符串s1和s2有相同的字符个数,且s1中各字符互不相同。该函数实现将已知字符串s中所有在字符串s1中也存在的字符,都用字符串s2中的对应位置的字符代替。
例如:设字符串s、s1和s2分别为:
s[]=“ABCABC”,
s1[]=“AC”,
s2[]=“ZX”
则s2中的字符z和X分别对应s1中的字符C和A,函数调用fun(s,s1,s2)将字符串s的内容变为“ZBXZBX”。
注意:不能修改程序的其他部分,只能修改fun()函数。
#include
void fun(char*s,char*s1,char
*s2)
{
}
void main()
{
char s[]=“ABCABC”;
fun(s,“AC”,“ZX”);
std::cout<
return;
}
选项
答案
char *p,*q; for(;*s;s++) //在串s中找符合条件的字符,然后替换 { for(p=s1,q=s2 ;*p ; p++,q++) //让指针p,q分别指向s 1和s 2 { if(*p==*s) //如果s中存在s l中p指向的字符 { *s=*q; //那么用q指向的s2中的字符替换 } } }
解析
(1)该程序功能是将己知字符串s中所有在字符串s1中也存在的字符,都用字符串s2中的对应位置的字符代替。它的解题思路,首先是找到符合替换条件的字符,然后进行替换。
(2)从己给部分源程序的main主函数开始入手,核心函数void fun(char*s,char*s1,char*s2)中的s1,s2参数为要替换的字符串,s为要被替换的字符串。
转载请注明原文地址:https://kaotiyun.com/show/xTAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
将下列程序写成三目运算表达式是()。if(x<y)min=x;elsemin=y;
()使一个函数可以定义成对许多不同数据类型完成同一个任务。
多态性分为两类:编译时的多态性和【】。
算法的基本特征是可行性、确定性、【】和拥有足够的情报。
C++编译时的多态性体现在【 】,运行时的多态性体现在【 】。
定义一个函数时,若只允许函数体访问形参的值而不允许修改它的值,则应把该形参声明为【 】类型。
在单链表上难以实现的排序方法有希尔排序、【 】和堆排序。
假设为循环队列分配的向量空间为Q[20],若队列的长度和队头指针值分别为13和17,则当前尾指针的值为【 】。
算法的时间复杂度是指
利用成员函数对双目运算符重载,其左操作数为______,右操作数为______。
随机试题
在项目范围管理中,企业管理层主要关注________。
化工厂生产区登高(离地面垂直高度)()必须系安全带。
我国城市社区教育的开展一般在()
下列不属于X线照片影像的物理因素的是
A、乙酰乙酸B、丙二酸C、丙酮酸D、α一酮戊二酸E、草酰乙酸可以直接转变为谷氨酸的物质是
患者,女性,70岁。慢性支气管炎病史30年。一周前感冒后再次出现咳嗽、咳痰。痰白质黏,伴有呼吸困难、乏力。以“慢性支气管炎合并慢性阻塞性肺气肿”入院治疗。指导患者加强腹式呼吸的原因是
企业战略是指企业为了适应未来环境的变化,寻求长期生存和稳定发展而制定的()的谋划与方略。
学生学习了A×B=B×A后,得出3×5=5×3的结果,这属于()
王家村西瓜大丰收后,全村男女老少分四个组品尝西瓜且每组人数正好一样多,小伙子一人吃1个,姑娘两人吃1个,老人三人吃1个,小孩四人吃1个,一共吃了200个西瓜。问王家村品尝西瓜的共有()。
Theissuepriceofthecompany’sshares_______(对许多人来说太高了).
最新回复
(
0
)