总时间限制: 1000ms 内存限制: 65536kB
描述
一个以’.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词。
- 输入
一个以’.’结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。 - 输出
该句子中最长的单词。如果多于一个,则输出第一个 - 样例输入
I am a student of Peking University. - 样例输出
University
题解:
– 就是模拟,在输入的时候遇到 空格 或 结束时的句号 那就找到了上一个单词的长度,比较一下就好了。
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAXN=505;
char a[MAXN],b[MAXN];
char A;
int l,ml;
int main(){
A=getchar();
while(A!=EOF){
if(A==' '||A=='.'){
if(l>ml){
for(int i=1;i<=l;i++)
a[i]=b[i];
ml=l;
}
l=0;
}
else
b[++l]=A;
A=getchar();
}
for(int i=1;i<=ml;i++)
cout<<a[i];
return 0;
}