中级天翼
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追加了内容
最长标签
中级守护
- 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;
- }
- }
初级守护
输出部分:
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]++;
}
}