首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程pmj3,其中定义了MyString类,一个用于表示字符串的类。成员函数reverse的功能是将字符串进行“反转”。例如,将字符串ABCDEF“反转”后,得到字符串FEDCBA;将字符串ABCD
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程pmj3,其中定义了MyString类,一个用于表示字符串的类。成员函数reverse的功能是将字符串进行“反转”。例如,将字符串ABCDEF“反转”后,得到字符串FEDCBA;将字符串ABCD
admin
2017-07-04
68
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程pmj3,其中定义了MyString类,一个用于表示字符串的类。成员函数reverse的功能是将字符串进行“反转”。例如,将字符串ABCDEF“反转”后,得到字符串FEDCBA;将字符串ABCDEFG“反转”后,得到字符串GFEDCBA。请编写成员函数reverse。在main函数中给出了一组测试数据,此时程序运行中应显示:
读取输入文件…
一反转前一
STR1=ABCDEF
STR2=ABCDEFG
一反转后一
STR1=FEDCBA
STR2=GFEDCBA
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中,输出函数WriteToFile已经编译为obj文件,并且在本程序中调用。
//mgsering.h
#include
#include
using namespace std;
cl ass MyString{
public:
MyString(const char*S)
{
str=new char[strlen(s) +1];
strcpy(str,s);
}
一NyString(){delete[]st;r;)
void EeveEse();
friend ostream&operator<<(OS
tream&os,const MyString&mystr)
{
OS<
return os;
}
private:
char*str;
};
void writeToFile(char*,const
NyString&);
//main.cpp
#include”mystring.h”
#include
void MyString::EeveEse()
{
//********333********
//********666********
}
int main()
{
char inname[128],pathname[80];
strcpy(pathname,””);
sprintf(inname,”in.dat”,pathname);
cout<<"读取输入文件…\n\n";
ifstream infile(inname);
if(infile.fail()){
cerr<<"打开输入文件失败!";
exit(1);
}
char bur[4096];
infile.getline(bur,4096);
NyString Strl(”ABCDEF”),sir2(”AB
CDEFG”),Str3(buf);
cout;<<”一一一反转前一一一\n”;
cout: <<”STRI =” <
cout:<<”STR2=”<
<
str1.Eeverse();
str2.Eeverse();
str3.Eeverse();
cout<<”…反转后…\n”;
cout<<”STR1=:”<
cout<<”STR2=”<
<
writeToFile(pathname,str3);
return 0;
}
选项
答案
int length=Strlen (Str); //把字符串str的长度赋值给lenth for(int i=0,j=length一1;i
解析
主要考查考生对动态数组的掌握,先看题目要求:成员函数reverse的功能是将字符串进行“反转”。再由类的定义可知,字符串存放在动态数组str中,由strlen函数得出字符串的长度,最后一个字符的下标为length一1,第一个字符的下标为0,将这两个字符交换,然后j依次减1同时i依次加1,继续交换,直到i大于j时停止循环即可。
转载请注明原文地址:https://www.kaotiyun.com/show/HLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下函数值的类型是 fun ( float x) {float y; y= 3*x-4; return y; }
下列程序的运行结果是【 】。#include<iomanip.h>intFunc(int*a,intn){ints=1;for(inti=0;i<n;i++)s*=*a++;return
下列程序执行后的输出结果是 void funcl(int i); void func2(int i); char st[]="hello,frlend!"; void funcl(int i) { cout<<st[i];
树L中,度为1、2、3、4、5和6的节点个数为6、4、3、3、5、1,则L中叶子的个数是【】。
设有n元关系R及m元关系S,它们分别有p、q个元组,则关系R与S经笛卡尔积记为R×S,该关系是一个n+m元关系,那么其元组个数是()。
属于关系的基本类型的是( )。
编制一个好的程序,首先要确保它的正确性和可靠性,还应强调良好的编程风格。在选择标识符的名字时应考虑()。
运算符重载仍然保持其原来的优先级、________和________
下列字符串中,正确的C++标识符是()。
随机试题
[2014年,第18题]设z=等于()。
采用合同中工程量清单的单价的情况不包括()。
下列行业中哪一个最接近于完全竞争市场()。
某投资者李预期甲股票价格将会下跌,于是与另一投资者张订立卖出合约,合约规定有效期限为三个月,李可按每股l0元的价格卖给张5000股甲股票,期权价格为0.5元/股。根据以上资料,回答下列问题:如果当时李做期货交易,行情及买卖时机相同,获利()元。
甲公司应收乙公司账款2250万元,由于乙公司无力偿付该应付账款,经双方协商同意。乙公司以普通股450万股偿还债务,普通股每股面值为1元,每股市价(即收盘价格)4.50元,甲公司对应收账款计提坏账准备100万元,甲公司收到的股权划分为交易性金融资产,另支付交
某小区召开业主大会,下列说法正确的有()。
教育研究活动的起始环节是()。
中国境内发现的晚期智人阶段的遗址不包括()。
依次填入下列各句空缺处的词语最恰当的一组是______。①只有多一点直面废墟的勇气,理解废墟所______的公理和道义,对历史保持清醒的态度,社会才会不断走向进步和繁荣。②他在担任省劳动厅长期间,违反组织人事纪律,______职权先后将未经
加快生态文明体制改革,必须加大生态系统保护力度。实施重要生态系统保护和修复重大工程,优化生态安全屏障体系,构建生态廊道和生物多样性保护网络,提升生态系统质量和稳定性。完成三条控制线划定工作。这“三条控制线”是指()
最新回复
(
0
)