首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
46
问题
使用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://jikaoti.com/ti/axt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是________。
根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成()
数据库管理系统常见的数据模型有层次模型、网状模型和【】3种。
以下各选项组中,均是C++语言关键字的组是
C++编译时的多态性体现在【 】,运行时的多态性体现在【 】。
下列关于指针的操作中,错误的是
在下面的运算符重载函数的原型中,错误的是
以下定义数组中错误的是()
三种基本结构中,能简化大量程序代码行的是()。
在一个容量为24的循环队列中,若头指针front=8,尾指针rear=3,则该循环队列中共有______个元素。
随机试题
适度满足自己的关心点和他人的关心点的冲突管理策略是()
成对的颅骨是
关于电磁式高压交换闸的叙述,错误的是
患者,男,27岁。泄泻清稀,甚者如水样,腹痛肠鸣,脘闷纳少,苔薄白或白腻,脉濡缓。应诊为何种证候
某学校出现1例水痘患儿,在为家长做健康孝育时,叙述不正确的是
一国的()是一国居民与外国居民在一定时期经济交往的货币价值记录。
次数分布是说明()。
上网竞价发行时,当有效申购量小于发行量时,主承销商可以采用抽签方式或不同比例配售方式,确定实际应配售的新股数量。()
WhenIdecidedtoquitmyfull.timeemploymentitneveroccurredtomethatImightbecomeapartofanewinternationaltrend.
Womenfromthemid-30stothemid-50sarelesslikelythanAmericansoverallbeveryhappy,andmanyarerackedbyworriesabout
最新回复
(
0
)