首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char水s2)中形参字符串s1和s2有相同的字符个数,且sl中各字符互不相同。该函数实现将已知字符串S中所有在字
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char水s2)中形参字符串s1和s2有相同的字符个数,且sl中各字符互不相同。该函数实现将已知字符串S中所有在字
admin
2021-09-05
69
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(char*s,char*s1,char水s2)中形参字符串s1和s2有相同的字符个数,且sl中各字符互不相同。该函数实现将已知字符串S中所有在字符串sl中也存在的字符,都用字符串s2中的对应位置的字符代替。
例如:设字符串S、s1和s2分别为:
S[]="ABCABC",
sl[]="AC",
s2[]="ZX"
则s2中的字符Z和X分别对应sl中的字符C和A,函数调用fun(s,s1,s2)将字符串S的内容变为”ZBXZBX”。
注意:不能修改程序的其他部分,只能修改fun()函数。
1 #include
2 void fun(char*S,char*S1,char *s2)
3 {
4
5 }
6 void main()
7 {
8 char S[]="ABCABC";
9 fun(S,"AC","ZX");
10 std::cout<
11 return;
12 }
选项
答案
1 char *p,*q; 2 for(;*s ; s++) //在串s中找符合条件的字符,然后替换 3 { 4 for(p=s1,q=s2 ;*p ; p++,q++) //让指针p,q分别指向s1和s2 5 { 6 if(*p==*s) //如果s中存在s1中p指向的字符 7 { 8 *s=*q ; //那么用q指向的s2中的字符替换 9 } 10 } 11 }
解析
(1)该程序功能是将已知字符串s中所有在字符串s1中也存在的字符,都用字符串s2中的对应位置的字符代替。它的解题思路,首先是找到符合替换条件的字符,然后进行替换。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(chat*s,char*s1,char*s2)中的s1,s2参数为要替换的字符串,s为要被替换的字符串。
[解题思路]
(1)让指针P,q分别指向s1和s2。
(2)然后利用for循环对s中的每一个当前字符与p指向的字符进行比较。
(3)如果(2)中的比较结果相等,那么用q指向s2中对应的字符替换。
转载请注明原文地址:https://kaotiyun.com/show/xI5p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知函数FA调用函数FB,若要把这两个函数定义在同一个文件中,则()。
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
在C++中既可以用于文件输入又可以用于文件输出的流类是()。
有如下程序:#include<iostream>usingnamespacestd;classBase{public:voidfun1(){cout<<’’Base\n’’;}v
下列函数原型声明中,错误的是()。
下列选项中不属于软件生命周期开发阶段任务的是()。
要利用C++流进行文件操作,必须在程序中包含的头文件是()。
算法的时间复杂度是指
若需要为XV类重载乘法运算符,运算结果为XV类型,在将其声明为类的成员函数时,下列原型声明正确的是()。
随机试题
对肾脏血管有收缩作用的拟肾上腺素药有
除特殊需要外,第一类精神药品的处方,每次不得超过多少日的常用量()
()是政府经济职能的体现,是中央政府为实施规划目标而采取的一系列手段和对策。
《中华人民共和国环境保护法》中明确规定了该法的主要内容应包括()。
火炬及排气筒的安装中,关于塔架的焊接,下列说法错误的是()。
根据我国《企业内部控制应用指引第11号——工程项目》,下列各项中,属于需要分离的不相容职务有()。(2016年学员回忆版)
聪明、富有才识、善于抽象思维是16PF测验中()因素的高分特征。
作为意识形态,道德是社会的派生物,是受社会物质生产方式决定和社会政治文化因素影响制约的。道德问题不能止于或者单从精神世界、观念王国的角度来解释,必须深入到物质世界、深入到经济社会韵发展中去考察、去说明,否则只能是雾里看花,既看不清,也越说越乱。上述文字意在
设函数y=f(x)具有二阶导数,且f’(x)>0,f"(x)>0,△x为自变量x在点x0处的增量,△y与dy分别为f(x)在点x0处对应的增量与微分,若△x>0,则
有以下程序:#include<stdio.h>intadd(inta,intb){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=a
最新回复
(
0
)