首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(cha*des,char*str)实现的功能是: (1)如果字符串最后面有空格,则全部删除; (2)转换后的数据放到des
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(cha*des,char*str)实现的功能是: (1)如果字符串最后面有空格,则全部删除; (2)转换后的数据放到des
admin
2019-05-29
27
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(cha*des,char*str)实现的功能是:
(1)如果字符串最后面有空格,则全部删除;
(2)转换后的数据放到des,并且指针作为返回值返回。
注意:不能修改程序的其他部分,只能补充convert()函数。
1 #include<iostream.h>
2 #include<ctype.h>
3 #define MAXLEN 1024
4 char* convert(char*des,char*str)
5 {
6
7 }
8 void main()
9 {
10 char dest[MAXLEN];
11 char*string=’’abc def ’’;
12 cout<< string<<’’<--’’<<end1;
13 cout<<convert(dest,string)<<’’<--’’<<end1;
14 return;
15 }
选项
答案
1 int length=0; 2 int i; 3 for(1ength=0;str[1ength] !=NULL;length++); //求数组长度 4 length--;//下标从0~len-1,下标减1表示最后一个字符的下标值 5 for(i=length;i>=0;i--) 6 { 7 if(str[i]!=’’) //判断结尾是否有空格,从后往前判断直到不是不是空格了跳出循环 8 break; 9 } 10 for(length=0;length<=i;length++) 11 { 12 des[length]=str[1ength];//从前面开始,逐个将str中的字符拷贝到des数组中,不含最后面的空格 13 } 14 des[length]=NULL;//最后一个字符为NULL 15 return des;
解析
函数convert(cha*des,char*str)实现的功能是将字符串最后面有空格删除,并将转换后的数据放到des,返回指针,可以将字符串最后空格前的所有字符拷贝到des中,关键是确定下标从那开始到最后都是空格。
(1)利用循环将字符串str的长度求出,然后从字符串的尾部开始检索,用循环从字符串的最后一个字符往前面逐个检查,如果该字符不是空格则退出循环,这个时候就找到了最后一个非空格字符所在的下标位置,然后从下标0开始到该位置,逐个将str里面字符拷贝到des中。
(2)程序当中使用了3次循环:计算长度、寻找最后一个非空格字符和拷贝三个过程。
转载请注明原文地址:https://kaotiyun.com/show/jB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已有函数fun(a,b),为了使函数指针变量p指向函数fun,则使用的赋值语句是_________
A、 B、 C、 D、 C此题考查的是函数重载的概念。在C语言中,允许定义一系列函数名相同,但形参的个数和类型不完全相同的函数,即函数的重载。重载函数对返回值类型不做要求,返回值类型也不参与区分函数的重载形式
A、 B、 C、 D、 C类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f()作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 D重载后的运算符的优先级和结合性都不会改变,运算符重载进行对原有的运算符进行适当的改造,重载的功能与原有的功能相类似,但是不能改变原运算符的操作对象个数。
A、 B、 C、 D、 A由于线性表采用的是顺序存储方式,用存储单元的邻接性体现线性表元素间的一维顺序关系,因此对线性表进行插入和删除运算时,可能需要移动大量的结点,以保持这种物理和逻辑的一致性。对于选项A)
若有类声明:classMyClass{public:MyClass(){cout<<1;}};执行下列语句MyClassa,b[2],*P[2];以后,程序的输出结果是A)11
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
下面字符串中,不可以用作C++标识符的是()。
随机试题
现代市场营销观念
桂枝汤原方服法要求“服已须臾,啜热稀粥一升余”,其意在于
妊娠合并糖尿病产妇所生的新生儿应
A.维生素A缺乏B.维生素B缺乏C.维生素D缺乏D.维生素K缺乏E.维生素E缺乏上皮角化不全,夜盲症,繁殖机能障碍
A.奇脉B.短绌脉C.交替脉D.水冲脉E.重搏脉提示左心衰竭的是
下列属于治疗湿疹的内服药的是()。
属于企业安全生产五要素的是:()。
扩大内需主要指扩大民间消费,也就是说,要提高民间消费在经济增长中的作用。扩大投资可以扩大需求,扩大政府消费也能够扩大需求,但是与扩大民间消费相比.二者都有一定的限制条件,且副作用大,历史经验已经证明了这一点。对文意的理解正确的一项是()。
Ifit______tomorrow,thematchwouldhavetobeputoff.
Readthearticlebelowaboutbuyingacomputer.ChoosethebestwordtofilleachgapfromA,B,CorD.Foreachquestion(19-3
最新回复
(
0
)