这道题依然map 或者说 散列
#include<iostream>
#include<cstdio>
#include<fstream>
#include<string>
#include<map>
using namespace std;
int main()
{
//ifstream cin("test.txt");
map<char,int>Map;
for(int i=0; i<26; i++)
{
Map[i+'a']=0;
}
string S;
int max=0;
char C;
getline(cin,S);
for(int i=0; i<S.size(); i++)
{
if(S[i]>='A'&&S[i]<='Z')
S[i]+=32;
if(Map.find(S[i])!=Map.end())
Map[S[i]]++;
}
for(int i=0; i<26; i++)
{
if(Map[i+'a']>max)
{
C=i+'a';
max=Map[i+'a'];
}
}
cout<<C<<" "<<max<<endl;
return 0;
}