首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:
admin
2019-05-29
68
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如:
输入:This is great!
输出:Tllis grea!
注意:不能修改程序的其他部分,只能补充fun()函数。
1 #include<iostream.h>
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:’’<<end1;
12 cin.getline(sour,MAXLEN);
13 convert(dest,sour);
14 cout<<dest<<end1;
15 return;
16 }
选项
答案
1 int 1,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所指的字符串中。原来的字符串存放在str指向的数组中,新字符串存放在des指向的数组中,因此可逐个读取str指向的数组里面的字符,把不同的字符放入des指向的数组中,即每次读str指向的数组一个字符,就在des指向的数组里面查找是不是已经有该字符了,如果已经有了则不添加进来,反之则把该字符加入到des指向的数组中。
(1)由审题分析可知,需要两重循环,外层循环不断读取str中的元素,内循环在des数组中查找读到的str中的字符,如果找到了des数组中己存在该元素不需要添加,如果没找到则添加到des数组中。
(2)在外循环体内,先设置bool型的标志变量ToAdd为真,假设在des数组中str
不存在,然后再内循环中,用str
和des[j]比较,如果相同说明已经存在了,将ToAdd设置为假,des[j]后面的元素不需要再比较了,跳出内循环。
(3)通过判断ToAdd可知,str
是否存在des数组中,如果ToAdd为真,则说明des数组中不存在str
,将str
添加到des数组中。
转载请注明原文地址:https://kaotiyun.com/show/rB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B快速排序的基本思想是:从表中选取一个元素(如本题中的33),将表中小于此元素的移到前面,大于此元素的移到后面,结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后
A、 B、 C、 D、 D重载后的运算符的优先级和结合性都不会改变,运算符重载进行对原有的运算符进行适当的改造,重载的功能与原有的功能相类似,但是不能改变原运算符的操作对象个数。
A、 B、 C、 D、 B耦合性和内聚性是衡量软件的模块独立性的两个定性的标准。其中,内聚性是度量一个模块功能强度的一个相对指标,耦合性则用来度量模块之间的相互联系程度。它们是相互关联的。在程序结构中,各模块
内聚性衡量软件的独立性使用耦合性和内聚性两个定性的度量标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系。耦合性是模块间互相连接的紧密程度的度量。
类在面向对象方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。
A、 B、 C、 D、 A关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。
下列叙述中错误的是A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
C++语言中类的定义的结束声明的符号是
随机试题
患者,男,25岁。突感上腹部剧痛。检查:血压130/80mmHg,脉搏110次/分,板样腹。肠鸣音消失。血红蛋白120g/L,血白细胞计数8.0×109/L。提示病情危险的是
某县公安局因张某拒绝交纳罚款,将张某汽车扣押一个月后,该局通知张某将汽车领回,但该车在扣押期间被使用,因发生交通事故而遭到部分损坏下列说法正确的是()
对于非施工单位原因造成的质量问题,应当由______返修,______承担责任。()
通过信函寻找代理商的优点是()。
简述课程实施中应注意的基本问题。
面对居高不下的房价,房租价格或许真的不算贵,但是为什么年轻人都觉得房租高呢?因为买房带来的远远不止居住的价值,但是租房,只能租来居住的价值。以下不能支持上述结论的是:
某公司办公室茶水间提供自助式收费饮料,职员拿完饮料后,自己把钱放到特设的收款箱中,研究者为了判断职员在无人监督时,其自律水平会受哪些因素的影响,特地在收款箱上方贴了一张装饰图片,每周一换。装饰图片有时是一些花朵,有时是一双眼睛。一个有趣的现象出现了:贴着“
设连续型随机变量X的分布函数为,试求:常数A和B;
Theteachersaidthattheearth______aroundthesun.
AnAustraliancompanyispreparedtogiveawaycolorTVsets,furcoats,diamondringsandachancetowin12000Australiandol
最新回复
(
0
)