PAT甲级1071题(说话方式)


1.题目介绍

1071

2.考察点,难度

字符串处理类,字符串判断,特殊情况,难度中

注:本题的输入不一定是个句子,句子最后一个字符可能不是句号或者其他非文字字符。

3.解题代码

#include <bits/stdc++.h>
using namespace std;

int main(){

    freopen("D:\\PAT\\Clion\\in.txt","r",stdin);
    string s,t;
    unordered_map<string,int> m;
    getline(cin,s);
    transform(s.begin(), s.end(), s.begin(), ::tolower);
    for(int i=0;i<s.length();i++){
        if(isalnum(s[i])==0){
            m[t]+=1;
            t="";
        } else{
            t=t+s[i];
        }
        if(i==s.length()-1 && isalnum(s[i]))
            m[t]++;
    }
    int M=-1;
    string out;
    for(auto item:m){
        if(item.first=="")continue;
        if(item.second>M || (item.second==M && item.first<out)){
            M=item.second;
            out=item.first;
        }
    }
    cout<<out<<" "<<M<<endl;
    return 0;
}

4.原题地址

https://pintia.cn/problem-sets/994805342720868352/problems/994805398257647616


文章作者: Peyton
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Peyton !
  目录