解题思路:同时存在多个最多字符时要按字母表顺序输出,因此要创建一个26大小的整形数组,再与统计的最大数量max1比较数值相同时输出对应字符。
注意事项:整型和字符之间的转换
参考代码:
#include<bits/stdc++.h> using namespace std; int c[26];//26个英文字母,统计每个字母数量 int max1=0;//最多的字母数量 int main() { string s; cin>>s; for(int i=0;i<s.length();i++) { c[s[i]-'A']++;//将字符转为整型并根据字母表位置加一 max1=max(c[s[i]-'A'],max1);//动态的找c数组中的最大值 } for(int i=0;i<26;i++) if(c[i]==max1) { char cc='A'+i;//将整型转化为字符并输出 cout<<cc; } return 0; }
0.0分
1 人评分
C语言训练-排序问题<1> (C语言代码)浏览:557 |
C二级辅导-计负均正 (C语言代码)浏览:508 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:820 |
矩形面积交 (C语言代码)浏览:1511 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:608 |
字符串问题 (C语言代码)浏览:1502 |
【亲和数】 (C语言代码)浏览:501 |
众数问题 (C语言代码)浏览:821 |
WU-陶陶摘苹果2 (C++代码)浏览:968 |
WU-printf基础练习2 (C++代码)浏览:2000 |