编写C++程序,要求输入5个字符串,要求将它们按由小到大的顺序排列,用string方法。
时间: 2024-03-18 10:41:11 浏览: 155
以下是实现该功能的C++程序,使用了string的sort函数进行排序:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str[5];
// 输入5个字符串
cout << "请输入5个字符串:" << endl;
for (int i = 0; i < 5; i++) {
cin >> str[i];
}
// 排序并输出
sort(str, str + 5);
cout << "排序后的字符串为:" << endl;
for (int i = 0; i < 5; i++) {
cout << str[i] << endl;
}
return 0;
}
```
输入5个字符串后,程序会使用sort函数进行排序,并输出排序后的结果。
相关问题
用c++编写一个程序,有5个字符串,要求对它们按由小到大顺序排列,用string方法。
在C++中,你可以使用`sort()`函数配合自定义比较函数来对字符串按照字典序从小到大排序。以下是一个简单的例子,假设我们有一个包含5个字符串的向量:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 包含sort函数
#include <string>
bool compareStrings(const std::string& a, const std::string& b) {
return a < b; // 自然排序,升序排列
}
int main() {
std::vector<std::string> strings = {"banana", "apple", "orange", "pear", "grape"};
std::sort(strings.begin(), strings.end(), compareStrings); // 使用sort函数和自定义比较函数
std::cout << "Sorted strings in ascending order:\n";
for (const auto& s : strings) {
std::cout << s << " ";
}
std::cout << "\n";
return 0;
}
```
在这个程序中,`compareStrings`函数定义了一个标准的比较规则,即如果`a`小于`b`,则返回`true`,表示将`a`放在`b`前面。`std::sort`函数接受容器的起始迭代器、结束迭代器以及这个比较函数作为参数,然后按照该规则对元素进行排序。
运行上述代码,你会得到按字母顺序从小到大的排序结果。
不使用sort()函数,用c++编写一个程序,有5个字符串,要求对它们按由小到大顺序排列,用string方法。
你可以使用C++的`<algorithm>`库里的`std::compare()`函数以及自定义比较函数来实现这个功能,因为`sort()`函数需要提供一个比较器。这里是一个简单的示例,不直接使用`sort()`,而是利用`stable_sort()`,因为它会保持相等元素的相对顺序:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
bool compareStrings(const std::string& a, const std::string& b) {
return a < b; // 按字典序从小到大排序
}
int main() {
std::vector<std::string> strVec = {"hello", "world", "apple", "banana", "cat"};
std::stable_sort(strVec.begin(), strVec.end(), compareStrings);
for (const auto& s : strVec) {
std::cout << s << " ";
}
std::cout << std::endl;
阅读全文