1187:统计字符数
时间限制: 1000 ms 内存限制: 65536 KB
【题目描述】
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
【输入】
输入包含一行,一个字符串,长度不超过1000。
【输出】
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
【输入样例】
abbccc
【输出样例】
c 3
【来源】
No
1. #include <iostream> 2. #include <string> 3. #include <algorithm> 4. using namespace std; 5. struct chnum{ 6. char ch;int num; 7. }; 8. bool cmp(const chnum &a,const chnum &b){ 9. if(a.num != b.num) return a.num > b.num; 10. return a.ch<b.ch; 11. } 12. int main(int argc, char *argv[]) 13. { 14. string s; 15. chnum c[26]; 16. cin>>s; 17. for(int i=0;i<26;i++){ 18. c[i].ch = 'a'+i; 19. c[i].num=0; 20. } 21. for(int i=0;i<s.size();i++) c[s[i]-'a'].num++; 22. sort(c,c+26,cmp); 23. cout<<c[0].ch<<" "<<c[0].num<<endl; 24. return 0; 25. }