编程将两个字符串连接成一个字符串,并将连接后的字符串按升序排列。如字符串s1的值为“pear”,字符串s2的值是"apple",连接后的字符串存入字符数组s3,排序后得到"aaeelpppr”。[编程要求] 试建立一个类STRING,实现将两个成员数组(str1和str2)中的字符串连接成一个字符串,并将连接后的字符串按升序排列存入成员数组str3中。 如str1中字符串"pear",str2中存字符吕"apple,连接并排序后存入成员数组str3中的字符串为"aaeelpppr"。具体要求如下: (1)私有数据成员。 char str1[100]; char str2[100]; char str3[100]; (2)公有成员函数 STRING(char ch1[],char ch2[]):构造函数,用分别参数ch1数组初始化私有成员str1数组
时间: 2024-03-10 15:48:14 浏览: 64
好的,以下是代码实现:
```cpp
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
class STRING {
private:
char str1[100];
char str2[100];
char str3[200];
public:
STRING(char ch1[], char ch2[]);
void connect_sort();
void output();
};
STRING::STRING(char ch1[], char ch2[]) {
strcpy(str1, ch1);
strcpy(str2, ch2);
}
void STRING::connect_sort() {
int len1 = strlen(str1);
int len2 = strlen(str2);
strcpy(str3, str1);
strcat(str3, str2);
sort(str3, str3+len1+len2);
}
void STRING::output() {
cout << "连接并排序后的字符串为:" << str3 << endl;
}
int main() {
char ch1[100] = "pear";
char ch2[100] = "apple";
STRING s(ch1, ch2);
s.connect_sort();
s.output();
return 0;
}
```
以上代码中,我们定义了一个STRING类,其中包含三个成员变量:str1、str2和str3,分别表示输入的两个字符串、连接后的字符串以及排序后的字符串。我们还定义了一个构造函数,在创建对象时用参数数组分别初始化str1和str2。
在connect_sort函数中,我们首先获取str1和str2的长度,然后将str1复制到str3中,接着使用strcat将str2连接到str3后面,最后使用sort函数将str3按升序排序。
在main函数中,我们首先定义了两个字符数组ch1和ch2,分别初始化为"pear"和"apple",然后通过构造函数创建了一个STRING对象s,接着依次调用了connect_sort和output函数,将结果输出。
你可以尝试修改ch1和ch2的值,来测试一下这个类的功能。
阅读全文