VC 课程实践正确答案(1)(5)

2019-08-31 22:51

(3)在主程序中定义STRING类的对象test对该类进行测试。 程序源代码

#include #include class STRING{ char str1[80]; char str2[40]; public:

STRING(char *s1,char *s2); void process(); void print(); };

STRING::STRING(char *s1,char *s2) {

for(int i=0;i<80;i++) str1[i]=s1[i];

for(int j=0;j<40;j++) str2[j]=s2[j]; }

void STRING::process() {

char s[40]; strcpy(s,str1); int i=0,j=0; while(str2[i]) {

str1[j++]=str2[i]; str1[j++]=s[i]; i++; }

str1[j]='\\0'; }

void STRING::print() {

cout<<\交叉后的字符串为:\cout<

void main() {

char str1[80],str2[40];

cout<<\输入字符串1\cin.getline(str1,39);

cout<<\输入字符串2\cin.getline(str2,39);

STRING test(str1,str2); test.process(); test.print(); }

运行结果

12.建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不等长)。例如将字符串“abcde” 交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。 具体要求如下: (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():输出插入后的字符串。

(3)在主程序中定义STRING类的对象test对该类进行测试。 程序源代码

#include #include class STRING{ char str1[60]; char str2[40]; char str3[100]; public:

STRING(char *s1,char *s2); void process(); void print(); };

STRING::STRING(char *s1,char *s2) {

for(int i=0;i<60;i++) str1[i]=s1[i];

for(int j=0;j<40;j++)

str2[j]=s2[j]; }

void STRING::process() {

int i=0,j=0,x;

while(str1[i]&&str2[i]) {

str3[j++]=str2[i]; str3[j++]=str1[i]; i++; } x=i;

if(str2[x]) while(str2[x]) str3[j++]=str2[x++]; if(str1[i]) while(str1[i]) str3[j++]=str1[i++]; str3[j++]='\\0'; }

void STRING::print() { cout<<\合并后的字符串为:\cout<

void main() {

char str1[60],str2[40];

cout<<\输入字符串1\cin.getline(str1,59);

cout<<\输入字符串2\cin.getline(str2,39); STRING test(str1,str2); test.process(); test.print(); }

运行结果

13.建立一个类MOVE,对数组中元素进行循环换位,即每个元素后移三位,最后三个元素移到最前面。 具体要求如下: (1)私有数据成员

? int array[20]:一维整型数组。 ? int n:数组中元素的个数。 (2)公有成员函数

? MOVE(int b[],int m):构造函数,初始化成员数据。 ? void change():进行循环换位。 ? void print():输出一维数组。

(3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。 程序源代码

#include class MOVE{ int array[20]; int n; public: MOVE(int b[],int m); void change(); void print(); };

MOVE::MOVE(int b[],int m) { n=m; for(int i=0;i

void MOVE::change() { int a[20]; for(int i=0;i

void MOVE::print() { for(int i=0;i

void main() { int b[20]={21,65,43,87,12,84,44,97,32,55}; MOVE p(b,10); p.change(); p.print(); }

运行结果

14.建立一个类MOVE,实现将数组中大字字母元素放在小写字母元素的左边。 具体要求如下: (1)私有数据成员

? char *array:一维字符数组。 ? int n:数组中元素的个数。 (2)公有成员函数

? MOVE(char b[],int m):构造函数,初始化成员数据。 ? void change():进行排序换位。 ? void print():输出一维数组。 ? ~MOVE():析构函数。

(3)在主程序中用数据\对该类进行测试。 程序源代码

#include #include class move{ char*array; int n; public: move(char b[],int m); void change(); void print(); ~move(); };

move::move(char b[],int m) { array=new char[strlen(b)+1]; n=m; strcpy(array,b); }


VC 课程实践正确答案(1)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:黄冈中学最新高考数学题型分析含黄冈密卷

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

马上注册会员

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