C++输入N个字符串,将他们按字母由大到小的顺序排列并输出。
时间: 2024-02-24 14:57:36 浏览: 29
可以使用C++的STL中的sort函数来实现:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool cmp(string a, string b) {
return a > b;
}
int main() {
int n;
cin >> n;
string str[n];
for (int i = 0; i < n; i++) {
cin >> str[i];
}
sort(str, str + n, cmp);
for (int i = 0; i < n; i++) {
cout << str[i] << endl;
}
return 0;
}
```
该程序先读入N个字符串,然后使用sort函数对字符串进行排序,排序时使用了一个自定义的比较函数cmp,该函数返回a > b,表示按字母由大到小的顺序排列。最后将排好序的字符串依次输出即可。
需要注意的是,由于输入字符串数量N是变量,因此需要使用动态数组来存储输入的字符串,这里使用了C++中的变长数组来实现。
相关问题
用C++语言数组输入N个字符串,将他们按字母由大到小的顺序排列并输出。
可以使用C++的STL中的sort函数和vector容器来实现:
```c++
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
bool cmp(string a, string b) {
return a > b;
}
int main() {
int n;
cin >> n;
vector<string> str;
for (int i = 0; i < n; i++) {
string s;
cin >> s;
str.push_back(s);
}
sort(str.begin(), str.end(), cmp);
for (int i = 0; i < n; i++) {
cout << str[i] << endl;
}
return 0;
}
```
该程序使用了vector容器来存储输入的字符串,vector容器可以自动扩展空间,因此不需要预先指定数组大小。使用for循环读入N个字符串,每次读入一个字符串后,使用push_back函数将其添加到vector中。然后使用sort函数对vector中的字符串进行排序,排序时使用了一个自定义的比较函数cmp,该函数返回a > b,表示按字母由大到小的顺序排列。最后将排好序的字符串依次输出即可。
需要注意的是,由于使用了vector容器来存储字符串,因此输出时需要使用vector的下标运算符[]来访问字符串。
用c++输入三个字符串,要求按字母由小到大输出字符串
好的,可以使用以下的 C++ 代码实现:
```c++
#include <iostream>
#include <string>
#include <algorithm> // 使用 std::sort 需要包含该头文件
using namespace std;
int main() {
string s1, s2, s3;
// 输入三个字符串
cout << "请输入三个字符串:" << endl;
cin >> s1 >> s2 >> s3;
// 将三个字符串放入一个数组中
string strings[3] = {s1, s2, s3};
// 使用 sort() 方法对数组进行排序
sort(strings, strings + 3);
// 输出排序后的数组
cout << "按字母由小到大排序后的字符串为:" << endl;
for (int i = 0; i < 3; i++) {
cout << strings[i] << endl;
}
return 0;
}
```
你可以将上述代码复制到 C++ 环境中运行,然后输入三个字符串,程序会按照字母由小到大的顺序输出这三个字符串。