洛谷P1598题解

这道题的难点是空格,于是我偷偷用了一个“getline”,嘻嘻。

都不多说,上代码:

#include<iostream>
#include <algorithm>
using namespace std;
char d[27]={'1','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int e[27];
struct b{
    string a;
};
b c[1005];
int main(){
    for(int i=1;i<=4;i++) getline(cin,c[i].a);
    for(int i=1;i<=4;i++)
        for(int j=0;j<c[i].a.size();j++)
            for(int k=1;k<=26;k++)
                if(c[i].a[j]==d[k]){
                    e[k]++;
                    break;}
    int maxx;
    for(int i=(*max_element(e+1,e+27));i>=1;i--){
        for(int j=1;j<=26;j++)
            if(e[j]>=i) maxx=j;
        for(int j=1;j<=maxx;j++){
            if(e[j]>=i) cout<<"*"<<" ";
            else cout<<"  ";
        }
        cout<<endl;
    }
    for(int i=1;i<=26;i++) cout<<d[i]<<" ";
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值