题目描述
下面使用C语言进行解题
#include <stdio.h>
#include <stdilb.h>
#include <string.h>
int main()
{
char s[];//存单词
int count[26] = {0};//计数
int sz,i,countMax;//sz存单词的长度,i为循环变量,countMax存出现最多单词的次数
char wordMax;//存出现最多的单词
scanf("%s",s);//输入单词
//举例aaab
for(i=0;i<sz=strlen(s);i++)
{
char c = s[i];//先将第一个字母给c
count[i-'a']++;
}
countMax = count[0];//假设
wordMax = 'a';//假设
for(i=1;i<26;i++)
{
if(countMax < count[i])
{
countMax = count[i];
wordMax = i + 'a';
}
}
printf("%c\n%d",wordMax,countMax);
return 0;
}
举例分析:第一次遍历的时候为a,这时计数的为count[ 0 ]++,count[ 0 ]=1.当第二次遍历的时候还是a,那么我们的计数还是在count[ 0 ],此时我们的count[ 0 ]在第一次遍历的基础上再++,变为2。这样我们就记录了字母a出现的次数。