最长单词2

总时间限制: 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;
}

猜你喜欢

转载自blog.csdn.net/qq_41709770/article/details/79591782