时间限制: 1000 ms 内存限制: 65536 KB
提交数: 20924 通过数: 11869
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
输入包含一行,一个字符串,长度不超过1000。
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
abbccc
c 3
用整形数组的下标来表示字符,其中的值表示字符的出现次数。
#include#include #include using namespace std; int a[50]; int main() {int i,j=0,k,m,n;char c,c2;while(1){c=getchar();if(c==10)break;c2=c-'a';a[(int)(c2)]++;//转换为整形的下标中的数加1}for(i=0;i<26;i++)//找出最大的值{if(a[i]>j)j=a[i];//printf("%d",a[i]);}for(i=0;i<26;i++)//找到这个最大的值,输出{if(j==a[i]){printf("%c %d",(char)i+'a',j);break;}}return 0; }