0
已解决
王子健
初级天翼
初级天翼
收拾整理字符串 经验值:800
题目描述 Description
输入一个字符串(不超过50000位),将其中的大写字母按照从大到小的顺序输出,小写按照从小到大输出。
输入描述 Input Description
一行,一个字符串s
输出描述 Output Description
两行,第一行将字符串s中的大写字母从大到小输出,用空格隔开
第二行将字符串s中的小写字母从小到大输出,用空格隔开
样例输入 Sample Input
dghssdffjJHG21568
样例输出 Sample Output
J H G d d f f g h j s s
主要是忘了字符串怎么从大往小了~用选排TLE过了1个点(吐),望大佬给出排序方法或改正,10分代码如下(服):
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
string str, Big, Small;
int main() {
getline(cin, str);
int len = str.size();
for(int i=0; i<=len-1; i++) {
if(str[i] >= 'A' && str[i] <= 'Z') Big += str[i];
else if(str[i] >= 'a' && str[i] <= 'z') Small += str[i];
}
sort(Small.begin(), Small.end());
for(int i=0; i<Big.size(); i++) {
for(int j=i+1; j<Big.size(); j++) {
if(Big[j] > Big[i]) swap(Big[i], Big[j]);
}
}
for(int i=0; i<Big.size(); i++) cout << Big[i] << ' ';
cout << endl;
for(int i=0; i<Small.size(); i++) cout << Small[i] << ' ';
return 0;
}
0
已采纳
黄子扬
初级天翼
初级天翼
优先队列
priority_queue<char>s;
一语惊醒梦中人
黄子扬在2020-08-29 16:08:32追加了内容
直接写sort也行吧
0
0
0
李素妍
新手天翼
新手天翼
徒弟来了!
这道题要用桶
首先定义
然后输出
再接着把大写字母放入a桶小写字母放入b桶
再再接着从Z到A输出字符串中的所有大写字母
换行
再再再接着从a到z输出字符串中的所有小写字母
0
王子翔
新手光能
新手光能
直接sort呀
for(int i=0;i<a.size();i++)
{
if(a[i]>='A'&&a[i]<='Z')
{
b+=a[i];
}
if(a[i]>='a'&&a[i]<='z')
{
c+=a[i];
}
}
sort(b.begin(),b.end());
sort(c.begin(),c.end());
其余自己写
0
0
0