字符降序
老规矩:先分析,写下思路,上代码
1.看到题目,我们想想怎样来排序,冷静分析;
2.思路:输入字符串,将字符串转换为字符数组,用sort排序+greater<char>来将字符串降序,然后再将字符数组转换为字符串,输出字符串;
3.上代码(命名数组是个人习惯,准确识别数组是程序员的必修课)
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
getline(cin, str);
// 将字符串转换为字符数组,以便我们可以修改它的顺序
char zfc[str.length()];
for (int i = 0; i < str.length(); i++) {
zfc[i] = str[i];
}
// 使用C++的sort函数对字符数组进行排序
sort(zfc, zfc + str.length(), greater<char>());
// 将排序后的字符数组转换回字符串并输出
string shuchu(zfc, zfc + str.length());
cout << "降序排列后的字符串为:" << shuchu << endl;
return 0;
}
字符升序
老规矩:先分析,写思路,上代码;
1.字符降序有greater<>,但升序没有具体的函数,我们就要充分利用sort函数的默认升序
2.思路:在字符降序的代码上删除掉greater函数,就默认升序了
3.上代码;
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
getline(cin, str);
// 将字符串转换为字符数组,以便我们可以修改它的顺序
char zfc[str.length()];
for (int i = 0; i < str.length(); i++) {
zfc[i] = str[i];
}
// 使用C++的sort函数对字符数组进行排序
sort(zfc, zfc + str.length());
// 将排序后的字符数组转换回字符串并输出
string shuchu(zfc, zfc + str.length()); //11111 删掉greater<char>()
cout << "降序排列后的字符串为:" << shuchu << endl;
return 0;
}