问题标题: 酷町堂:3969 字符排序与计数

0
0
已解决
丁博扬
丁博扬
中级天翼
中级天翼

3969   字符排序与计数经验值:0

题目描述 Description

现在有很多个字符,它们排排站。老师需要你统计其中的每个字母的个数,同时将这些字母按照字典序输出。

输入描述 Input Description

输入一个字符串(长度不超过10^6)

输出描述 Output Description

输出排序后的字母,以及每个字母的个数,格式参考样例

样例输入 Sample Input

121abcabcXZYX+++

样例输出 Sample Output

XX2

Y1

Z1

aa2

bb2

cc2

 

史上最长标签

丁博扬在2020-12-13 13:28:36追加了内容

最长标签


0
已采纳
许致远
许致远
中级守护
中级守护
  • int a[100010];
  • int main(){
  • string s;
  • cin>>s;
  • for(int i=0;i<s.size();i++){
  • if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z'){
  • int t=s[i]-0;
  • a[t]++;
  • }
  • }
  • for(int i='A';i<='Z';i++){
  • if(a[i]!=0){
  • for(int j=1;j<=a[i];j++){
  • cout<<char(i);
  • }
  • }
  • if(a[i]!=0){
  • cout<<a[i]<<endl;
  •  
  • }
  • }
  • for(int i='a';i<='z';i++){
  • if(a[i]!=0){
  • for(int j=1;j<=a[i];j++){
  • cout<<char(i);
  • }
  • }
  • if(a[i]!=0){
  • cout<<a[i]<<endl;
  •  
  • }
  • }
0
刘丹青
刘丹青
初级守护
初级守护

输出部分:

for(int i='A';i<='Z';i++){
        如果(a[i]!=0){
            for(int j=1;j<=a[i];j++){
                   输出<<char(i);
            }
             输出<<a[i]<<endl;
        }
    }
    for(int i='a';i<='z';i++){
        如果(a[i]!=0){
            for(int j=1;j<=a[i];j++){
                   输出 <<char(i);
            }
             输出<<a[i]<<endl;
        }
    }

输入部分:

cin>>s;
    for(int i=0;i<s.size();i++){
        如果(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z'){
            int t=s[i]-0;
            a[t]++;
        }
    }

0
我要回答