首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如: 输入:
admin
2019-05-29
50
问题
使用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、 Awhile循环取串长度,赋值给j,然后在for循环中由串两边开始向中间进行字符比较,当最后i和j标识字符位置的变量相等,那么奇数个字符,或者i大于j时那么偶数个字符,则表示是对称的。
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
内聚性衡量软件的独立性使用耦合性和内聚性两个定性的度量标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系。耦合性是模块间互相连接的紧密程度的度量。
在结构化分析使用的数据流图中,使用用______解释其中的图形元素。
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是()。A)operatorlong()const;B)operatorlong(bigNumber);C)longoperatorlong()
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()。
以下选项中合法的用户标识符是
随机试题
下列不属于国际区域市场存在原因的是()
风寒感冒与风热感冒的主要鉴别是
灰苔在望诊中主()
行政机关实施行政许可和对行政许可事项进行监督检查()。
在监理合同签订后,出现了不应由监理人负责的情况,不得不暂停执行某些监理任务,当恢复监理工作时,还应增加不超过()天的合理时间,用于恢复执行监理业务,并按双方约定的数量支付监理酬金。
FIDIC施工合同条件规定的工程索赔程序中,工程师答复的时限要求是()。
压力试验用压力表的量程应为试验压力的()倍。
刘大爷想用自家种植的作物酿酒喝,下列作物中,它可以选择的有()
安徽省省树、省花分别是()。
A、 B、 C、 D、 B每组前两个图形叠加,阴影部分去同存异得到第三个图形。
最新回复
(
0
)