本题目要求读入一个字符串,统计字符串中每个字符出现的次数,输出现次数最多(输入的数据中,出现次数最多的字符唯一)的字符以及次数。
在这里给出一组输入。例如:
输入样例:
xabaaccd1ma1b
输出样例:
a,4
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<bits/stdc++.h>
using namespace std;
int ch[26]; //记数
int main()
{
string s;
cin>>s; //这里也可以用getline(cin,s)
int i;
int index; //标记位置
for(i=0;i<s.size();i++)
{
for(int j=i;j<s.size();j++) //j=i,为的是防止漏掉只出现一次的数
{
if(s[i]==s[j]) //依次循环判断,重复出现,次数加一
{
ch[i]++;
}
}
}
int max=-1; //ch[i]有可能为0,所以定义max的初值为-1;
for(i=0;i<26;i++)
{
if(ch[i]>max) //判断出现次数最多
{
max=ch[i];
index=i; //记下出现次数最多的字符的位置
}
}
cout<<s[index]<<","<<max<<endl; //输出出现最多次数的字符,和次数
return 0;
}