首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:Th
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:Th
admin
2020-06-29
50
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如:
输入:This is great!
输出:This grea!
注意:不能修改程序的其他部分,只能补充fun()函数。
#include
#define MAXLEN 1024
void Convert(char*des,char*str)
{
}
void main()
{
char sour[MAXLEN];
char dest[MAXLEN];
cout<<“Please input a string:”<
cin.getline(sour,MAXLEN);
convert(dest,sour);
cout<
return;
}
选项
答案
int i,j; bool ToAdd; des[0]=0; for(i=0;str[i]!=NULL;i++) { ToAdd=true; for(j=0;des[j]!=NULL;j++) { if(str[i]==des[j]) { ToAdd=false;//des数纽中已存在该元素,将标志位设置为假,说明不用再添加 brea k;//des数组中已存在该元素,跳出循环 } } if(ToAdd)//des数组中不存在,添加进来 { deS[j]=Str[i]; des[j+1]=0; } }
解析
convert(char*des,char*str)函数的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。原来的字符串存放在str指向的数组中,新字符串存放在des指向的数组中,因此可逐个读取str指向的数组里面的字符,把不同的字符放入des指向的数组中,即每次读str指向的数组一个字符,就在des指向的数组里面查找是不是已经有该字符了,如果已经有了则不添加进来,反之则把该字符加入到des指向的数组中。
(1)由审题分析可知,需要两重循环,外层循环不断读取str中的元素,内循环在des数组中查找读到的str中的字符,如果找到了des数组中已存在该元素不需要添加,如果没找到则添加到des数组中。
(2)在外循环体内,先设置bool型的标志变量ToAdd为真,假设str
不存在在des数组中,然后再内循环中,用str
和des[j]比较,如果相同说明已经存在了,将ToAdd设置为假.des[j]后面的元素不需要再比较了,跳出内循环。
(3)通过判断ToAdd可知,str
是否存在des数组中,如果ToAdd为真,则说明des数组中不存在str
,将str
添加到des数组中。
转载请注明原文地址:https://kaotiyun.com/show/ri8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果为()。#include<iostream.h)classTestClass{public:TestClass(){val++;}static,intval;};
构造函数的主要作用是【 】。
下面程序的执行结果是【】。#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){cout<<setfill(’x’)
已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为()。
下面关于C++语言的描述错误的是
在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系()。
下面对静态数据成员的描述中,正确的是( )。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成fun()函数,其功能是:求出M行N列二维数组每行元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。注意:不能修改程序的其他部分,只能修改fun()函数。1#
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
随机试题
患者,男,70岁。经常咳嗽、咳痰15年。3天前感冒后咳嗽加重,咳黄痰,无高血压病史。查体:双下肺可闻及湿性啰音。胸片示双肺纹理增多,双下肺可见斑片影。首先考虑的诊断为
下列非处方药的专有标识是
A.氧化与磷酸化的偶联B.CO对电子传递的影响C.能量的贮存与利用D.2H+与1/2O2的结合E.乳酸脱氢酶催化的反应与ADP和ATP相互转化相关的过程是()
下列行为中属于双方民事法律行为的是()。
以下关于直接融资和间接融资的说法中,正确的是()。
()是公文收文办理的中心环节。
培根说过的一句话:有些书可以稍微品尝,有些书不值一看,有些书则要认真咀嚼。谈谈你的看法。
今日______到府上打扰,实在是不得已。
关于财务混乱的错误谣言损害了一家银行的声誉,如果管理人员不试图反驳这些谣言,它们就会传播开来并最终摧毁顾客的信心。但如果管理人员努力驳斥这种谣言,则这种驳斥使怀疑增加的程度比使它减少的程度更大。如果以上陈述是正确的,根据这些陈述,下列哪项一定是正确
结合材料回答问题:加强和创新社会治理,非常重要的一点就是推动社会治理重心下移。打赢疫情防控阻击战,更需要将防控工作落实到单位社区、居住社区、小区、院落、居民楼、每一个有人群的空间,直到每一户、每个人。在这次疫情防控中,很多地方都把干部派到社区、小
最新回复
(
0
)