首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
2018-10-23
29
问题
使用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,s`,s2)将字符串s的内容变为’’ZBXZBX’’。
注意:不能修改程序的其他部分,只能修改fun()函数。
1 #include<iostream>
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<<s<<std::end1;
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(char*s,char*s1,char*s2)中的s1,s2参数为要替换的字符串,s为要被替换的字符串。
转载请注明原文地址:https://jikaoti.com/ti/mPt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
结构化程序设计的3种结构是
内联函数是通过______来实现的,因此内联函数是真正的函数。
以下函数值的类型是()。fun(floatx){floaty;y=3*x-4;returny;}
下列程序的运行结果是()。#include<iostream.h>intx=5;intfun(intA){intC;C=X*a;returnC;}voidmain()
有以下程序:#include<iostream>usingnamespacestd;ClassA{public:A(){tout{("A"}};classB{public:B(){cout<<"
下面程序的结果是()。#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;}};Cl
下列定义中p指向的地址可更改,但*p不能够更改的是()。
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
随机试题
A.初血尿B.终末血尿C.全程血尿D.镜下血尿E.间歇性无痛性血尿
女性,55岁,半年内出现4次突然不能言语,每次持续30min左右,第4次伴右侧肢体麻木,既往有房颤病史,神经系统检查正常,最可能诊断是
子宫动脉来自
A、阴阳的相互制约B、阴阳的互根互用C、阴阳的消长平衡D、阴阳的失调E、阴阳的相互转化阴阳两虚是因为()
对于一级评价项目,对其所在地区气象资料的调查期间,至少应为最近( )年。
下列选项中,不属于不确定分析的方法是( )。
数学教学中如何贯彻严谨性与量力性相结合的原则?
(2017年临沂兰山)7~10岁儿童的注意集中时间约为30~40分钟,所以小学低年级每节课的上课时间为40分钟。
下述关于主要市场经济模式的划分,错误的是()。
有以下程序#include<stdio-h>intfun(inta,intb){if(b==0)returna;elsereturn(fun(--a,--b));}main(){printf("%d\n",fun(4,2));}程序
最新回复
(
0
)