分析
这道题目乍一看就是模拟
我们可以使用getchar进行输入,但输入到句号时停止输入
若当前的单词已经输入完毕,即输入的是’ ‘,则判断是否为当前的最长单词,若是当前最长单词,则存入一个特定的字符串中
[注]:由于最后一个单词后面没有’ ‘,因此我们进行特判
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+1e4;
char a;
char word[N];
char ans[N];
ll len,maxn;
int main()
{
a=getchar();
while(a!='.')//若不为'.'则继续执行程序
{
if(a!=' ')len++,word[len]=a;//若该单词尚未输入完毕,则将其存入word[]但中
if(a==' ')//若出现了空格,则说明当前的单词已经输入完毕
{
if(len>maxn)//若当前的单词为最长单词
{
for(ll i=1;i<=len;i++)
{
ans[i]=word[i];
}
maxn=len;
}
len=0;
}
a=getchar();//继续输入
}
if(len>maxn)//由于最后一个单词后没有' ',所以需要特判
{
for(ll i=1;i<=len;i++)
{
ans[i]=word[i];
}
maxn=len;
}
for(ll i=1;i<=maxn;i++)
{
cout<<ans[i];
}
return 0;
}
么么么么么么么么么