最長最短單詞

羽工作室發表於2021-01-03

最長最短單詞


輸入1行句子(不多於200個單詞,每個單詞長度不超過100),只包含字母、空格和逗號。單詞由至少一個連續的字母構成,空格逗號都是單詞間的間隔。
試輸出第1個最長的單詞和第1個最短單詞。

【輸入】


一行句子。

【輸出】


兩行輸出:
第1行,第一個最長的單詞。
第2行,第一個最短的單詞。

【樣例輸入】
I am studying Programming language C in Peking University
【樣例輸出】
Programming
I

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
	char s[25000];
	int t=0,l,maxl=0,minl=101,maxi,mini;
	gets(s);
	l=strlen(s);
	s[l]=' ';//字串末尾新增一個空格,方便判斷最後一個單詞。
	for(int i=0;i<=l;++i) 
	{
		if((s[i]!=' ')&&(s[i]!=','))
		t++;//記錄單詞長度。 
		else if(t>0)
		{
			if(t>maxl)//判斷並更新最長。 
			{
				maxl=t;
				maxi=i-t;//記錄起點 
			}
			if(t<minl)//判斷並更新最短 
			{
				minl=t;
				mini=i-t;
			}
			t=0;//單詞長度清零。 
		}
	}
	for(int i=maxi;i<=maxi+maxl-1;++i)
	cout<<s[i];
	cout<<endl;
	for(int i=mini;i<=mini+minl-1;++i)
	cout<<s[i];
	return 0;
	
}

 

相關文章