题目描述
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多的字母有多个,那么输出字典序最小的那个。
输入
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
每组数据输出占一行,输出出现次数最多的字符;
样例输入
3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
样例输出
a
a
j
代码
#include<stdio.h>
#include<string.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
char s[1011];
int b[26]={0};//因为要对字符串中的字符统计其
//出现的次数,所以定义数组b[]
int i,max,l,m;
scanf("%s",s);
l=strlen(s);
for(i=0;i<l;i++)
{
b[s[i]-'a']++;//以ASCL的形式记住字母出现的次数
}
for(i=0;i<26;i++)
{
if(b[i]>max)
{//在数组循环中找最大的b[i],记下它的下标
max=b[i];
m=i;
}
}
printf("%c\n",m+'a');
}
return 0;
}