首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:
admin
2019-05-29
26
问题
使用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://jikaoti.com/ti/VXA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,只有给指针new一个地址时会调用构造函数,所以本程序中一共生成了6个Point对象(A,B,C,newPoint[
A、 B、 C、 D、 Cfun()的第一个参数是传值调用,第二个是传址调用,故在函数中修改形参的值会被传回到实参中,故结果为0和2。
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
A、 B、 C、 D、 D本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:①改进软件结构,提高模块独立性。通过模块的分解或合并,力求
A、 B、 C、 D、 D线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保
有如下程序:#include<iostream>usingnamespacestd;classtest{private:inta;public:test(){cout<<"c
下列叙述中错误的是A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持
下列选项中,不属于面向对象程序设计特征的是A)继承性B)多态性C)类比性D)封装性
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
以下哪个不是C++语言中的有效标识符?
随机试题
在PC机中,音响通过声卡插在主板的()中。
A.T—ALLB.AML一M2C.AML一M3D.AML一M5E.AML一M6出血倾向明显,3P试验阳性常见于
X线检查心影呈“靴型”的先天性心脏病是指
患者,女,43岁,远中邻面龋坏,已做根管治疗,曾作银汞合金充填,远中邻面食物嵌塞无法解决,口内未见其他异常该患者就诊时,应首选的诊疗措施是下述哪一项
根据卫生部卫法监发[2002]108文《职业病目录》,我国的职业病种类共分为______大类115种。
下列代理行为中,属于指定代理的是( )。
科学家们认为,梦是大脑中主管人体各种功能的各个中心点联合作用的结果。人在睡眠时其部分脑细胞仍然在活动着,这就是梦的基础。最近的研究成果证实,做梦不仅不会影响人的睡眠和健康,而且还是保护大脑健康所必需的生理活动之一。以下哪项如果为真,最能支持上述结论?(
倾销是指一国(地区)的生产商或出口商()。
请在代码中的画线处填写正确的语句【】,使程序输出helloworld!。//HelloApplet.javaImportjava.awt.*;Importjava.applet.*;PublicclassHel
WhichofthefollowingismentionedasoneofthereasonsforthedwindlingWestAfricanrainforest?
最新回复
(
0
)