思路:
创建一个char数组用来存输入的数据
然后 定义一个 c 数组 下标为ascii码 内容是出现的次数
遍历 char 数组 计算 c 即可 。
注意点:
char 数组中如果是大写字母 则对应的小写字母的次数加1 ;
最后循环遍历c数组 打印下标 和最大值
代码实现:
#include <iostream>
#include<ctype.h>
#include<cstring>
#include<algorithm>
using namespace std;
char s[1001];
int c[200]={0}; // 用来存入每个字符出现的次数 ASCII可显示字符32-126 这里开200足矣
int main()
{
gets(s);
int len=strlen(s);
for (int i=0;i<len ;i++ )
{
if (isupper(s[i]))
{
c[s[i]+32]++;
}
else c[s[i]]++;
}
int max=c[0];
for (int i=0;i<200 ;i++ )
{
char a=(char)i;
if (c[i]!=0 && islower(a))
{
if (c[i]>max)
{
max=c[i];
}
}
}
int j=0;
for (int i=0;i<200 ;i++ )
{
char a=(char)i;
if (c[i]!=0 && islower(a))
{
if (c[i]==max)
{
j=i;
break;
}
}
}
cout<<(char)j<<" "<<max<<endl;
return 0;
}