首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
67
问题
使用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://www.kaotiyun.com/show/ri8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下4个程序中,不能实现两个实参值进行交换的是()。
类定义如下:classTestClass{public:TestClass(){cout
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<endl;}};classA2:publicA1{
C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【】方式。
有如下程序:#includeusingnamespaeestd;classA{public:A(){cout
关于面向对象的程序设计方法,下列说法正确的是
定义一个具有10个元素的整型数组,应当使用语句是______。
已知在函数func中语句this->ff=0;与语句ff=0;的效果完全相同。对于这一现象,下列表述中错误的是______。
下列叙述中正确的是
设数据集合为D={1,2,3,4,5}。下列数据结构B=(D,R)中为非线性结构的是()。
随机试题
教育群体成熟的重要心理标志是()
足月儿生后1~2d内出现呼吸急促,一般情况好,肺呼吸音减低,X线示两肺广泛斑点阴影,有叶间积液,2~3d消失。最可能的诊断是
脱疽热毒症的治疗原则是:
呕吐伴右上腹痛及发热、寒战或有黄疸者应考虑喷射性呕吐伴头痛常见于
尿毒症患者发生纤维性骨炎的主要原因是
合同订立过程必须经过的程序是()。
不属于常用评价职业病危害因素的方法是()。
某投资者以28元的价格购买了某种股票同时拥有该股票的看跌期权合同,行使价为30元。假设该投资者行使期权时的股票市价是27元,则该投资者在行权时取得的每股收入为()元。
2002年诺贝尔化学奖颁给了提出“测定生物大分子质量原始思想”的日本科学家田中耕一,比他晚一两个月发明更有效的测定方法的德国化学家米夏埃尔?卡拉斯和弗伦茨.希伦坎普只好望洋兴叹;2008年诺贝尔生理学或医学奖颁给了首次发现“人类免疫缺陷病毒”的两位法国科学
设X1,X2,…,Xn是来自对数级数分布的一个样本,求p的矩估计.
最新回复
(
0
)