码迷,mamicode.com
首页 > 其他好文 > 详细

A1071 Speech Patterns (25 分)

时间:2019-11-24 21:11:24      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:return   文件   isa   ring   auto   names   line   pe头文件   头文件   

一、技术总结

  1. 开始拿到这道题目时,思考的是我该如何区分它们每一个单词,不知道这里还是要学习得知在cctype头文件中有一个函数用于查看是否为0~9、a~z、A~Z,就是isalnum(),又因为题目中要求不区分大小写,有一个函数tolower(),toupper()要学会合理利用。
  2. 然后就是使用map技术了,默认初始化为0如果是string,int,可以直接mp[]++;
  3. 然后就是键值和值mp->first,mp->second;

二、参考代码

#include<iostream>
#include<map>
#include<cctype>
using namespace std;
int main(){
    string t, s;
    map<string, int> mp;
    getline(cin, s);
    for(int i = 0; i < s.length(); i++){
        if(isalnum(s[i])){
            s[i] = tolower(s[i]);
            t += s[i];
        }
        if(!isalnum(s[i]) || i == s.length()-1){
            if(t.length() != 0) mp[t]++;
            t = "";
        }
    }
    int maxn = 0;
    for(auto it = mp.begin(); it != mp.end(); it++){
        if(it->second > maxn){
            maxn = it->second;
            t = it->first;
        }
    } 
    cout << t << " " << maxn;
    return 0;
}

A1071 Speech Patterns (25 分)

标签:return   文件   isa   ring   auto   names   line   pe头文件   头文件   

原文地址:https://www.cnblogs.com/tsruixi/p/11924225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!