题目241
字母统计
时间限制:3000 ms | 内存限制:65535
难度:1
描述
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
输入
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
每组数据输出占一行,输出出现次数最多的字符;
样例输入
3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
样例输出
a
a
j
#include<stdio.h>
#include<string.h>
int main(){
int test,i,j,js,count,max;
char str[1010],p; //如果是str[110]NYO会出现runtimeover的结果。
scanf("%d",&test);
getchar(); //注意这里getchar();放在while里面会出现错误。
while(test--){
max = 0;
gets(str);
js = strlen(str);
for(i=0; i<js ;i++){
for(j=0,count=0; j<js; j++)
if(str[i] == str[j]) count++;
if(count>max){
max = count;
p=str[i];
}
else if(count == max && str[i]<p)
p = str[i];
}
printf("%c\n",p);
}
return 0;
}