题目自己定义了单词 不是说只有全英文字符串才是单词
- 除去大写字符、小写字母、数字这三种以外其他空格或者符号都是分割符
- 包含连续的字母或者数字就是单词
例如word1就是单词 wo:rd就是单词wo 和rd
因此贴一下ac代码:
#include<iostream>
#include<map>
#include<cctype>
using namespace std;
map<string,int> has;
int main()
{
string str;
while(cin>>str)
{
for(int i=0;i<str.length();++i)
{
string word;
char c;
while(isdigit(str[i])||isalnum(str[i]))
{
c=str[i];
if(isalnum(c))
{
if(!islower(c))
c=tolower(c);
word+=c;
}
i++;
}
has[word]++;
}
}
int cnt=-1;
string word;
for(auto &ss:has)
if(ss.second>cnt)
cnt=ss.second,word=ss.first;
cout<<word<<" "<<cnt;
return 0;
}