题目链接:请点击
思路:用getline一行一行读入,然后判断该字符串str中的每个字符,并另定义一个整型数组,其下标代表a~z,且初始化为0。若str中当前字符为小写字母或大写字母则使整型数组相应下标的位置增1。最后遍历整个整型数组,找到最大即可
AC代码
#include<iostream>
#include<cctype>
#include<string>
using namespace std;
int main()
{
string str;
char max;;
int num=-1,s[26]={0};
getline(cin,str);
for(int i=0;i<str.length();i++)
{
if(islower(str[i])) s[str[i]-'a']++;
if(isupper(str[i])) s[str[i]-'A']++;
}
for(int i=0;i<26;i++)
{
if(s[i]>num)
{
max='a'+i;
num=s[i];
}
}
cout<<max<<" "<<num;
return 0;
}