目录
一、问题描述
一个以 .
结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词。
输入格式
输入这个简单英文句子,长度不超过 500500。
输出格式
该句子中最长的单词。如果多于一个,则输出第一个。
输入样例:
I am a student of Peking University.
输出样例:
University
二、解题
1.代码
用了sstream库
#include<iostream>
#include<sstream>
#include<istream>
using namespace std;
int main()
{
char s[510];
cin.getline(s,500,'.');
stringstream ssin(s);
string str,strmax;
while(ssin >> str)
if(str.size()>strmax.size()) strmax = str;
cout << strmax;
return 0;
}
看了一下y总写的,发现自己有毛病。。
#include<iostream>
using namespace std;
int main()
{
string s,r;
while(cin >> s);
if(s.back()=='.') s.pop_back(); //s.back是字符串的最后一个字符,s.pop_back是删除这个字符串的最后一个字符
if(s.size() > r.size()) r = s;
cout << r << endl;
return 0;
}