字母统计
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
-
输入
-
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
- 每组数据输出占一行,输出出现次数最多的字符; 样例输入
-
3 abcd bbaa jsdhfjkshdfjksahdfjkhsajkf
样例输出
-
a a j
ac代码:
#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { int t, a[26], i, c, m; char b[1020]; scanf( "%d", &t ); while( t-- ) { scanf( "%s", b ); c = strlen(b); memset(a,0,sizeof(a));//对数组a进行赋值0 for( i = 0; i < c; i++ ) a[b[i]-'a']++;//统计b数组中各个字母出现的次数,并存储在a数组里 m = 0; for( i = 0; i < 26; i++ ) if( (a[i] != 0)&&(m < a[i]) )//找出数组中出现最多的次数为m m = a[i]; for( i = 0; i < 26; i++ ) if( m == a[i] )break; printf( "%c\n", i+'a' ); } return 0; }
-
第一行输入一个正整数T(0<T<25)