文章目录
- Question
- Ideas
- Code
Question
一个以 . 结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词。
输入格式
输入一行字符串,表示这个简单英文句子,长度不超过 500。
输出格式
该句子中最长的单词。如果多于一个,则输出第一个。
输入样例:
I am a student of Peking University.
输出样例:
University
Ideas
#<sstream>
stringstream sin(s);
while(sin >> s);
string对象的+
操作
Code
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string s;
getline(cin, s);
int tem = 0;
string out;
stringstream sin(s);
string str;
string s_ = "";
while (sin >> str)
{
// 将最后的字符串进行处理,删掉.字符
if (str[str.size() - 1] == '.')
{
for (char i: str)
{
if (i != '.')
s_ += i;
}
str = s_;
}
if (str.size() > tem)
{
tem = str.size();
out = str;
}
}
cout << out;
return 0;
}