首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
65
问题
使用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://www.kaotiyun.com/show/5PNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
根据变量定义“staticintx[5],y[2][3]={9,6,3,1,4,7};”,x[4]=【】,y[1][2]=【】。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的【】。
以下程序的输出结果是______。for(x=3;x=6;x++){cout<<((x%2)?"**":"#")<<x;if(x%2==0)cout<<end1;}
使用fstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。
在数据库系统中,描述数据库中全体数据的逻辑结构和特征的数据模式为()。
基类的【】不能被派生类的成员访问,基类的【】在派生类中的性质和继承的性质一样,而基类的【】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
若类A和类B的定义如下:classA{public:inti,j;voidget();};classB:A{inti,j;protec
以下函数模板max的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
关于在调用模板函数时实参的使用,下列表述中正确的是
随机试题
违法行为构成犯罪,人民法院判处拘役或者有期徒刑时,行政机关已经给予当事人行政拘留的,可以不再追究刑事责任。
在感知觉发育上,预计6个月的婴儿可以达到的水平为
路肩工程可作为路面工程的一个()进行检查评定。
按照我国现行规定,建设工程严重质量事故的调查组由()。
在下列法的各项分类中,以法的创制形式和发布形式为标准进行分类的是()。
南京市明清三大景观包括()。
对社会政策进行评估需要采用一定的标准。评判某项社会政策的投入产出率高低,属于()。[2008年真题]
在医务社会工作中,社会工作者要为因疾病而面临危机处境的病人及其家属进行危机干预。在危机干预时,要强调介入的()。
下列关于公务员职务升降的做法,错误的是()。
A当B打算C睡觉D派E爱好F大概例如:A:你有什么(E)?B:我喜欢体育。A:最近工作很难找,你找得怎么样了?B:我在一家旅游公司给旅行团()导游。
最新回复
(
0
)