题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
#include <algorithm>
#include <cctype>
#include <iostream>
using namespace std;
int main() {
string str;
getline(cin, str);
string s = "";
//对于输入字符串中的字符进行排序
for (int k = 0; k < 26; k++) {
for (int i = 0; i < str.size(); i++) {
if((str[i]-'a'==k) || (str[i]-'A'==k))
s+=str[i];
}
}
//保持字符串中的非字母字符保持不动
int j = 0;
for (int i = 0; i < str.size(); i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
str[i] = s[j++];
}
}
cout << str << endl;
return 0;
}

查看14道真题和解析