1149:最长单词2
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 27557 通过数: 15100
【题目描述】
一个以‘.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式。
【输入】
一个以‘.’结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。
【输出】
该句子中最长的单词。如果多于一个,则输出第一个。
【输入样例】
I am a student of Peking University.
【输出样例】
University
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string str;
getline(cin,str);//因为有空格,用getline()输入
int len=str.size();//获取字符串长度
int max=-1;//用于保存最大值
string res;//用于保存最长字符串
for(int i=0;i<len;i++)
{
int j=i,sum=0;//j先指向第0位
while(str[j]!=' '&&j<len-1)//去掉最后的'.'
sum++,j++;
if(sum>max)
{
max=sum;//获取最大值
res=str.substr(i,sum);//截取最大值时的字符串,长度为sum
}
i=j;//指针跳到j位
}
cout<<res;
return 0;
}