c++输入5个字符串,按由小到大顺序输出(排序方法)
时间: 2024-12-11 10:28:37 浏览: 4
在C++中,如果你想输入5个字符串并按照字典序从小到大进行排序,可以使用`<algorithm>`库提供的`sort`函数,结合自定义的比较函数。以下是简单的步骤:
1. 定义一个结构体或类,包含一个字符串成员,并提供必要的构造函数。
```cpp
#include <string>
#include <vector>
#include <algorithm>
struct StringComparator {
bool operator()(const std::string& a, const std::string& b) const {
return a < b;
}
};
```
2. 创建一个包含5个字符串的向量,并接收用户输入。
```cpp
std::vector<std::string> strings(5);
for (int i = 0; i < 5; ++i) {
std::cin >> strings[i];
}
```
3. 使用`sort`函数对字符串向量进行排序,传入刚才定义的比较函数。
```cpp
std::sort(strings.begin(), strings.end(), StringComparator());
```
4. 最后遍历并输出已排序的字符串。
```cpp
for (const auto& str : strings) {
std::cout << str << " ";
}
```
完整示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
struct StringComparator {
bool operator()(const std::string& a, const std::string& b) const {
return a < b;
}
};
int main() {
std::vector<std::string> strings(5);
for (int i = 0; i < 5; ++i) {
std::cin >> strings[i];
}
std::sort(strings.begin(), strings.end(), StringComparator());
for (const auto& str : strings) {
std::cout << str << " ";
}
std::cout << "\n";
return 0;
}
阅读全文