12、 最频繁的字母(letter.cpp)

12 最频繁的字母(letter.cpp

小明是一名翻译,每天都要看着令人头疼的英文。他无聊时会想一些很奇怪的问题,例如英文单词是如何组成的,它们有什么来源等等。有一天他突然想,到底哪个英文字母在英文单词中出现的频率最高呢?他发现这个工作量还是很大的,于是找到了你帮助他解决这个问题。他会提供你一个仅由26个小写字母(a z)组成的字符串s(中间不含空格),请你计算一下这字符串s中哪个字母出现的次数最多,如果说出现次数最多的字母不止一个,那么请把他们都打印出来,按照字母表的顺序输出(abcdefg …… xyz),也就是按照这些字母的ASCII由小到大输出出来。

每组数据都只有一行,就是题目中所描述的字符串s,它的长度不会超过255

你也只需输出一行,即出现次数最多的字母。(如果很多,就按字母表序输出)

输入文件: letter.in

输出文件: letter.out

【样例输入1

abaca

【样例输出1

a

(解释:由于a出现了3次,而bc都只出现了1次。)

【样例输入2

msmcatac

【样例输出2

acm

(解释:由于m, c, a都出现了2次,只要把m, c, a按照字母表的顺序输出即可。)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    ///freopen("letter.in","r",stdin);
    //freopen("letter.out","w",stdout);
    int len,i,j,count[123]={0},max=0;
    string s;
    cin>>s;
    len=s.size();
    for(i=0;i<=len-1;i++) count[s[i]]++;
    for(i=97;i<123;i++) if(count[i]>max) max=count[i];
    for(i=97;i<123;i++) if(count[i]==max)cout<<char(i);retutn 0;
//    freopen(stdin);
//    freopen(stdout);
    
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值