时间限制: 1000 ms 内存限制: 65536 KB
提交数: 1849 通过数: 999
【题目描述】
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
【输入】
输入包含一行,一个字符串,长度不超过1000。
【输出】
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
【输入样例】
abbccc
【输出样例】
c 3
【来源】
No
【代码】
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
char a[2000];
int n;
char flag;
int max=0; //max用于记录出现次数最多的字母次数
int t=1; //t用于计数
cin>>a;
n=strlen(a);
sort(a,a+n); //将字母进行排序
for(int i=0;i<n;i++)
{
if(a[i]==a[i+1]) //计算相同的字母次数
{
t++;
}
else
{
if(max<t) //找出字母重复次数最多的字母
{
flag=a[i];
max=t;
}
t=1;
}
}
cout<<flag<<" "<<max;
return 0;
}