具体思路:
定义一个字符串和数组,然后遍历字符串,每个字母出现的个数加到对应的位置中(例如出现一次a,那么a[0]加1,出现一次z,那么a[25]加1),最后比较出出现次数最多的字母
代码:(使用了最笨的列举法)
#include <bits/stdc++.h>
using namespace std;
int arr[26];
string s;
int zuida=0,maxnumber=0,i;
char zimu;
int main()
{
cin>>s;
int cnt=s.length();
for(int i=0;i<cnt;i++)
{
if(s[i]=='a')
{
arr[0]++;
}
if(s[i]=='b')
{
arr[1]++;
}
if(s[i]=='c')
{
arr[2]++;
}
if(s[i]=='d')
{
arr[3]++;
}
if(s[i]=='e')
{
arr[4]++;
}
if(s[i]=='f')
{
arr[5]++;
}
if(s[i]=='g')
{
arr[6]++;
}
if(s[i]=='h')
{
arr[7]++;
}
if(s[i]=='i')
{
arr[8]++;
}
if(s[i]=='j')
{
arr[9]++;
}
if(s[i]=='k')
{
arr[10]++;
}
if(s[i]=='l')
{
arr[11]++;
}
if(s[i]=='m')
{
arr[12]++;
}
if(s[i]=='n')
{
arr[13]++;
}
if(s[i]=='o')
{
arr[14]++;
}
if(s[i]=='p')
{
arr[15]++;
}
if(s[i]=='q')
{
arr[16]++;
}
if(s[i]=='r')
{
arr[17]++;
}
if(s[i]=='s')
{
arr[18]++;
}
if(s[i]=='t')
{
arr[19]++;
}
if(s[i]=='u')
{
arr[20]++;
}
if(s[i]=='v')
{
arr[21]++;
}
if(s[i]=='w')
{
arr[22]++;
}
if(s[i]=='x')
{
arr[23]++;
}
if(s[i]=='y')
{
arr[24]++;
}
if(s[i]=='z')
{
arr[25]++;
}
}
for(i=0;i<26;i++)
{
if(zuida<arr[i])
{
zuida=arr[i];
maxnumber=i;
}
}
if(maxnumber==0) zimu='a';
if(maxnumber==1) zimu='b';
if(maxnumber==2) zimu='c';
if(maxnumber==3) zimu='d';
if(maxnumber==4) zimu='e';
if(maxnumber==5) zimu='f';
if(maxnumber==6) zimu='g';
if(maxnumber==7) zimu='h';
if(maxnumber==8) zimu='i';
if(maxnumber==9) zimu='j';
if(maxnumber==10) zimu='k';
if(maxnumber==11) zimu='l';
if(maxnumber==12) zimu='m';
if(maxnumber==13) zimu='n';
if(maxnumber==14) zimu='o';
if(maxnumber==15) zimu='p';
if(maxnumber==16) zimu='q';
if(maxnumber==17) zimu='r';
if(maxnumber==18) zimu='s';
if(maxnumber==19) zimu='t';
if(maxnumber==20) zimu='u';
if(maxnumber==21) zimu='v';
if(maxnumber==22) zimu='w';
if(maxnumber==23) zimu='x';
if(maxnumber==24) zimu='y';
if(maxnumber==25) zimu='z';
cout<<zimu<<endl<<zuida;
}