江苏科技大学 C++课程实践报告答案(2)

2019-04-02 09:28

任务六

一、实践任务

6.定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。

二、详细设计

1、类的描述与定义 (1)私有数据成员

??char *str;

??int y:标记是否为回文字符串。

(2)公有成员函数

??String (char *s) :构造函数,用给定的参数s初始化数据成员str。y初始化

为0。

??void huiwen () :判断str所指向的字符串是否为回文字符串。 ??void show( ) :在屏幕上显示字符串。

2、主要函数设计

在主程序中定义字符串char s[]=”ababcedbaba”作为原始字符串。定义一个String类对象test,用s初始化test,完成对该类的测试。

三、源程序清单 四、实践小结

掌握判断回文字符串的一般形式。

五、运行结果

任务十一

一、实践任务

11.建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。

例如将字符串“abcde” 交叉插入字符串“ABCDE”的结果为“aAbBcCdDeE”或“AaBbCcDdEe”。

二、详细设计

1、类的描述与定义 (1)私有数据成员

??char str1[80] :存放被插入的字符串。 ??char str2[40] :存放待插入的字符串。

(2)公有成员函数

??STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。 ??void process():将str2中的字符串插入到str1中。

??void print():输出插入后的字符串。

2、主要函数设计

在主程序中定义STRING类的对象test对该类进行测试。

三、源程序清单

#include #include class STRING{ private: char str1[80];//存放被插入的字符串; char str2[40];//存放待插入的字符串; public:

STRING(char*s1,char*s2) { strcpy(str1,s1); strcpy(str2,s2); }

void process(); void print(); };

void STRING::process() { int i,j;

int n=strlen(str1);

if(strlen(str2)>strlen(str1)) {//当待插入的字符串ABCDEFG比被插入的字符串abcde长或相等时,逻辑算法:abcde->a b c d e->空格处依次插入ABCDEFG->aAbBcCdDeEFG;

for(i=n-1;i>0;i--) { str1[i+i]=str1[i];//被插入的字符串由最后一位开始各位向后移动i位; } for(i=1,j=0;i<2*n;i+=2,j++) { str1[i]=str2[j];//在空出的位置处依次插入字符串; } i--; for(;j<=strlen(str2);j++,i++) { str1[i]=str2[j];//将过长额字符串放入被插入的字符串尾部,完成插入; } } else//当待插入的字符串abcde比被插入的字符串ABCDEFG短时,逻辑算法:ABCDEFG->A B C D E FG->空格处插入abcde->AaBbCcDdEeFG;

{

for(i=n;i>strlen(str2)-1;i--) { str1[i+strlen(str2)]=str1[i];//比待插入的字符串长的部分均向后移strlen(str2)位;

} for(i=strlen(str2)-1;i>0;i--) { str1[i+i]=str1[i];//之前的部分均向后移i位; } for(i=1,j=0;i<2*strlen(str2);i+=2,j++) { str1[i]=str2[j];//将待插入的字符串插入空格处,完成插入; } } }

void STRING::print()//输出插入后的字符串 { cout<<\插入后的字符串为:\ }

void main()//测试 {

STRING test(\ test.process(); test.print(); }

四、实践小结

发现字符插入的规律,再依次放入相应字符位置。

五、运行结果

任务十二

一、实践任务

12.建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不等长)。

例如将字符串“abcde” 交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。

二、详细设计

1、类的描述与定义 (1)私有数据成员

??char str1[60] :存放被插入的字符串。 ??char str2[40] :存放待插入的字符串。 ??char str3[100] :存放插入后的字符串。

(2)公有成员函数

??STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。 ??void process():将str2中的字符串插入到str1中,存放到str3中。 ??void print():输出插入后的字符串。

2、主要函数设计

在主程序中定义STRING类的对象test对该类进行测试。


江苏科技大学 C++课程实践报告答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:医院信息安全产品的选型原则

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: