统计字符数(信息学奥赛一本通-1187)
【题目描述】
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
【输入】
输入包含一行,一个字符串,长度不超过1000。
【输出】
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
【输入样例】
abbccc
【输出样例】
c 3
【题解代码】
#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
int num[N];
int max_num = 0;
int main()
{
string s; cin >> s;
for (int i = 0; i < s.size(); i++)
{
num[s[i]]++;
max_num = max(num[s[i]], max_num);
}
for (char i = 'a'; i <= 'z'; i++)
{
if (num[i] == max_num)
{
cout << i << ' ' << max_num;
return 0;
}
}
}