C++输入N个字符串,将他们按字母由大到小的顺序排列并输出。
时间: 2024-02-24 10:57:36 浏览: 85
可以使用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的下标运算符[]来访问字符串。
从键盘输入3个字符串(仅包含小写字母),将其按ascII码的大小,从小到大的顺序排序并输出,例如,依次输入bbb ccc aaa,输出:aaa bbb ccc。用C++
在C++中,你可以使用`std::cin`获取用户输入的三个字符串,并通过`std::sort`函数结合自定义比较函数来按ASCII码对它们进行排序。这里是一个简单的示例:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
bool compareStrings(const std::string& a, const std::string& b) {
return a < b; // 比较两个字符串按照ASCII值的升序
}
int main() {
std::string str1, str2, str3;
std::cout << "请输入第一个字符串:";
std::getline(std::cin, str1);
std::cout << "请输入第二个字符串:";
std::getline(std::cin, str2);
std::cout << "请输入第三个字符串:";
std::getline(std::cin, str3);
std::vector<std::string> vec = {str1, str2, str3}; // 将字符串放入向量以便排序
std::sort(vec.begin(), vec.end(), compareStrings); // 使用自定义函数排序
for (const auto& s : vec) {
std::cout << s << " ";
}
std::cout << "\n";
return 0;
}
```
当你运行这个程序,它会提示你逐个输入三个字符串,然后输出按ASCII码升序排列的结果。
阅读全文