题目描述
一个以’.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词。
输入格式
输入这个简单英文句子,长度不超过500。
输出格式
该句子中最长的单词。如果多于一个,则输出第一个。
样例
输入样例:
I am a student of Peking University.
输出样例:
University
C++ 代码
#include <iostream>
#include <algorithm>
#include <string>
#include <regex>
using namespace std;
int main() {
int ans = 0;
string s,res;
getline(cin, s);
regex pattern("\\b\\w*\\b");
smatch result;
string::const_iterator st = s.begin();
string::const_iterator end = s.end();
while (regex_search(st, end, result, pattern)) {
int siz = (int)result[0].length();
if(siz > ans) ans = siz,res = result[0].str();
st = result[0].second;
}
cout << res << endl;
return 0;
}