字母统计
时间限制:3000 ms | 内存限制:65535 KB
难度:1
-
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
-
输入
-
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
- 每组数据输出占一行,输出出现次数最多的字符; 样例输入
-
3 abcd bbaa jsdhfjkshdfjksahdfjkhsajkf
样例输出
-
a a
-
第一行输入一个正整数T(0<T<25)
描述
- 分析:本题要考虑到ASCII,每个字符都有自己的ASCII值,我们可以用字符的 ASCII值 - 97 就可以作为数组的下标。
源代码:
#include<stdio.h>
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
int N,i,k,t;
char s[1020];
int a[26];
cin>>N;
getchar();
while(N--)
{
gets(s);
memset(a,0,sizeof(a));
//for(i=0;i<26;i++)
//a[i]=0;
for(i=0;i<strlen(s);i++)
a[s[i]-97]++; //控制下标
for(i=k=0;i<26;i++)
if(a[i]>a[k])
k=i;
t=97+k;
cout<<(char)t<<endl;
}
return 0;
}