PAT-乙-1042 1042 字符统计 (20 分)
代码
#include <iostream>
using namespace std;
const int MAX = 128;
int main() {
string s1;
getline(cin, s1);
int maxCount = 0;
char maxCh;
int c1[MAX] = {0};
for(int i=0; i<s1.length(); i++) {
char tmp = s1.at(i);
if(tmp>='A' && tmp<='Z'){
tmp = tmp + 32;
}
if(tmp>='a' && tmp<='z') {
c1[tmp]++;
if( (c1[tmp]>maxCount) || (c1[tmp]==maxCount && tmp<maxCh)) {
maxCount = c1[tmp];
maxCh = tmp;
}
}
}
cout<<maxCh<<" "<<maxCount<<endl;
return 0;
}
注解
1、水题,只要看清题目:统计时不区分大小写,输出小写字母。
因此要把所有的大写字母先转成小写,避免统计错漏。