发布时间 : 星期一 文章VC 课程实践正确答案(1)更新完毕开始阅读5c529c5258f5f61fb6366648
(3)在主程序中定义STRING类的对象test对该类进行测试。 程序源代码
#include
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 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 MOVE::MOVE(int b[],int m) { n=m; for(int i=0;i void MOVE::change() { int a[20]; for(int i=0;i