首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。 例如: 输入:T
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。 例如: 输入:T
admin
2015-05-30
78
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。
例如:
输入:This is great!
输出:This grea!
注意:不能修改程序的其他部分,只能补充fun()函数。
1 #include
2 #define MAXLEN 1024
3 void convert(char*des,char*str)
4 {
5
6 }
7 void main()
8 {
9 char sour[MAXLEN];
10 char dest[MAXLEN];
11 cout<<"Please input a string:"<
12 cin.getline(sour,MAXLEN);
13 convert(dest,sour);
14 cout<
15 return;
16 }
选项
答案
1 int i,J; 2 bool ToAdd; 3 des[0]=0; 4 for(i=0;str[i]!=NULL;i++) 5 { 6 ToAdd=true; 7 for(J=0 ; deS[j]!=NULL; j++) 8 { 9 if(str[i]==des[j]) 10 { 11 ToAdd=false;//des数组中已存在该元素,将标志位设置为假,说明不用再添加 12 break;//des数组中已存在该元素,跳出循环 13 } 14 } 15 if(ToAdd)//des数组中不存在,添加进来 16 { 17 des[j]=str[i]; 18 des[j+1]=0 ; 19 } 20 }
解析
convert(char*des,char*str)函数的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。原来的字符串存放在s仃指向的数组中,新字符串存放在des指向的数组中,因此可逐个读取str指向的数组里面的字符,把不同的字符放入des指向的数组中,即每次读str指向的数组一个字符,就在des指向的数组里面查找是不是已经有该字符了,如果已经有了则不添加进来,反之则把该字符加入到des指向的数组中。
[解题思路]
(1)由审题分析可知,需要两重循环,外层循环不断读取str中的元素,内循环在des数组中查找读到的str中的字符,如果找到了des数组中已存在该元素不需要添加,如果没找到则添加到des数组中。
(2)在外循环体内,先设置bool型的标志变量ToAdd为真,假设str
不存在在des数组中,然后再内循环中,用str
~H des[j]比较,如果相同说明已经存在了,将ToAdd设置为假,des[j]后面的元素不需要再比较了,跳出内循环。
(3)通过判断ToAdd可知,str
是否存在des数组中,如果ToAdd为真,则说明des数组中不存在str
,将str
添加到des数组中。
转载请注明原文地址:https://kaotiyun.com/show/5PNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
通过______调用虚函数时,采用动态束定
下列对基类和派生类关系的描述中,错误的是______。
每个类______构造函数。
已定义以下函数fun(int*p){return*p;}该函数的返回值是______。
以下程序的输出结果是______。#include<iostream.h>Intf(){staticinti=0;inta=1;a+=;i++;ret
下面四个选项不属于表达式语句的是______。
下列关于数组的描述正确的是()。
()提供了类对外部的接口,私有成员是类的内部实现,而保护成员不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
下列说法有错误的是______。
随机试题
______技能对于基层管理最重要,对于中层管理较重要,对于高层管理较不重要。
Anewkindofmachine【21】totaketheplaceofhumans.Thesemachines【22】dojobsthataretoodangerousforhumans.【23】,theyare
A.麻黄配桂枝B.人参配莱菔子C.生姜配半夏D.甘遂配甘草E.乌头配白及属于增效的配伍药组是()。
【背景资料】某甲装饰公司承揽一大型宾馆的装修任务,由乙单位进行施工阶段监理。在施工期间,甲单位将其6~10层中的第8层由丙单位分包装修。其资质经监理公司审核已具备条件。施工中发生以下事件:事件一:木工组圆盘锯安全装置不齐全,致使木工工人王某在作业过程
根据《文物保护法》,关于保护文物的说法,正确的是()。
某企业上月末的负债总额为200万元,本月份收回应收账款10万元,收到购货单位预付的货款16万元,本月末计算出应交产品销售税金1万元,则本月末该企业的负债总额为()。[2006年真题]
多年不见的朋友,在自己脑海中印象最深的其实就是临别时的情景。这是()
学校里突然暴发流感。作为一名学校领导人,你会采取哪些措施?要注意哪些问题?
下面不属于软件设计阶段任务的是()。
Whatdoestheword"cheer"(Line2,Para.1)imply?Itseemsthatthewriter______.
最新回复
(
0
)