#include <cstring>
#include <iostream>
using namespace std;

int main() {
    string str;
    char c[26]={'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'};
    while (cin >> str) { // 注意 while 处理多个 case
    int t[26]={};
        int length=str.length();
        {
            for(int i=0;i<length;i++)
            {
                for(int j=0;j<length;j++)
                {
                    if(str[i]==c[j])
                     t[j]++;
                }
                
            }
            for(int i=0;i<26;i++)
            cout<<c[i]<<":"<<t[i]<<endl;
        }
    }
}
// 64 位输出请用 printf("%lld")

最蠢的真的列出26个字母的方法

但是看完题解后发现还可以用int数组中的下标加上'A'的Ascii码来方便地表示字母....

看来刷没刷过题确实是一眼就能看出来的