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

0
0

0
已采纳
朱优扬
朱优扬
中级天翼
中级天翼
string a[10010];
int cnt,cnt1;
int zm(string a){
    cnt1=0;
    for(int i=0;i<a.size();i++){ 
        if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
            cnt1++;
    }
    return cnt1;
}
bool cmp(string a,string b){
    if(zm(a)!=zm(b)){
            return zm(a)<zm(b);
    }
    return a<b;
}

int main(){
    ____ n;
    ____ tmp;
    ____>>n;
    _______(cin,tmp);
    for(int i=1;i<=n;i++){
        _______(cin,a[i]);
    }
    ____(a+1,a+1+n,cmp);
    for(int i=1;i<=n;i++){
        ____<<a[i]<<____;
    }
    return 0;
}

朱优扬在2020-07-29 14:20:58追加了内容

求采纳(_的地方是让你填的)

0
王劭杰
王劭杰
高级守护
高级守护

大佬呢!!!!!!???????

0
余彦文
余彦文
初级光能
初级光能

结构体学过吗?我是用结构体排序的

struct r{

        string s;//字符串

        int ss;//字母个数

}a[......];

cmp:

bool cmp(r a,r b){

        if(a.ss!=b.ss){如果字母数不同

                return a.ss<b.ss;小的在先

        }

        return a.s<b.s;//(我忘了是‘<’还是‘>’了)字典序排序

}

剩下的我相信你能做好

我要回答