编程将两个字符串连接成一个字符串,并将连接后的字符串按升序排列。如字符串s1的值为" pear ",字符串s2的值是" apple ",连接后的字符串存入字符数组s3,排序后得到" aaeelpppr "。[编程要求] 试建立一个类 string ,实现将两个成员数组(str1和str2)中的字符串连接成一个字符串,并将连接后的字符串按升序排列存入成员数组str3中。 如 str 中字符串" pear ",str2中存字符串" apple ",连接并排序后存入成员数组str3中的字符串为" aaeelpppr 具体要求如下: (1)私有数据成贝。 char str1[100] char str2[100] char str3[100] (2)公有成员函数 STRING ( char ch1l], char ch2[]):构造函数,用分别参数ch1数组初始化私有成员str1数组,参数ch2数组初始化私有成员str2数组 void process ():实现把成员数组str1和str2连接,并把连接后的字符串按升序排列后存入成员数组str3中; void show ():输出成员数组str3 (3)在主函数中完成对该类的测试。定义一个 STRING 类的对象 s ;分别用" pear "初始化对象s1中的成员数组str1,用" apple "初始化成员数组str2,按上述要求处理并输出结果 # include < iostream . h ># include < string . h ># include < fstream . h > class STRING c char str1[100]
时间: 2024-03-19 22:40:59 浏览: 104
char str2[100]
char str3[100]
public:
STRING(char ch1[], char ch2[]) { //构造函数,初始化str1和str2数组
strcpy(str1, ch1);
strcpy(str2, ch2);
}
void process() { //连接两个字符串并按升序排列存入str3数组
strcpy(str3, str1);
strcat(str3, str2);
int len = strlen(str3);
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (str3[j] > str3[j + 1]) {
char temp = str3[j];
str3[j] = str3[j + 1];
str3[j + 1] = temp;
}
}
}
}
void show() { //输出str3数组
cout << str3 << endl;
}
};
int main() {
char ch1[] = "pear";
char ch2[] = "apple";
STRING s(ch1, ch2);
s.process();
s.show();
return 0;
}
阅读全文
相关推荐


















