问题标题: 酷町堂:3983 字符串排序2

0
0
已解决
曹子浩
曹子浩
新手光能
新手光能

题目链接: 酷町堂:3983

题目描述 De**ion

现在有n个字符串(包含空格)需要进行排序,先按照字母的个数从小到大排序,如果字母个数相同,则按照字典序进行排序。

输入描述 Input De**ion

第一行输入一个整数n(n<=10000)
接下来n行,每行输入一个字符串(不超过300位)

输出描述 Output De**ion

输出共n行
表示排序后的字符串

样例输入 Sample Input

3 abcdef123 123abcdef 12345abcdef

样例输出 Sample Output

12345abcdef 123abcdef abcdef123

错误代码:

#include<iostream>
#include<iomanip>
#include<string>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int n;
string s[10005];
bool cmp(string x,string y){
    if(x.size()!=y.size()){
        return x.size()<y.size();
    }
    return x>y;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        getline(cin,s[i]);
    }
    sort(s+1,s+n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<s[i]<<endl;
    }


0
已采纳
刘意阳
刘意阳
初级天翼
初级天翼

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0
张云瀚
张云瀚
初级天翼
初级天翼

是字母的个数,就是abcd(大写小写都是),你要再编一个函数来求字符串的字母个数

我要回答