【题解-信息学奥赛一本通】1187:统计字符数

题目:1187:统计字符数

题目描述:

给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。

输入:

输入包含一行,一个字符串,长度不超过1000。

输出:

输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。

时空限制

1s / 64 MB

样例输入:

复制代码
abbccc

样例输出:

复制代码
c 3

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=26+10;
int a[N],maxx,ans;
string s;
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++) a[s[i]-'a']++;
    for(int i=0;i<26;i++)
        if(a[i]>maxx){
            ans=i;
            maxx=a[i];
        } 
    cout<<char(ans+'a')<<" "<<maxx;
    return 0;
}

结果