openjudge最长单词


转载华东交大biovoid的。他这道题WA了很久。最后是我发现他没考虑句子结尾可以没有句号的情况。然后他在后面又加了一个判别语句。就AC了。当初我改他代码改了很久未果,果然每个人有每个人的思路。有时候即使看懂了别人的代码。也不一定真的了解。最了解自己孩子的还是自己的父母啊。老师什么的。就不提了。

最长单词

 

时间限制:

1000ms

内存限制:

65536kB

描述

输入一个英文句子,长度不超过200个字符。其中可包含的符号只有逗号","和句号"."。 输出句子中最长的一个单词。如果有多个这样的单词,输出最后出现的。

输入

多组数据,每行为一个句子,其中符号"."不代表句子结束,譬如人名中可含有".”。

输出

每行一个最长单词。这里单词的定义是仅由连续的字母组成的字符串。

样例输入

Good morning. Have a nice day.

样例输出

morning nice

#include"stdio.h"
#include"string.h"
#include"ctype.h"

int main(){
	int s,
		L,
		e,
		start,
		end,
		max;
	char str[202];
	while(gets(str)){
		s=0;
		L=0;
		max=0;
		start=0;
		end=0;
		for(e=0; str[e]!='\0'; ++e){
			if( isalpha(str[e]) )
				L++;
			else{
				if( L >= max ){
					start=s;
					end=e-1;
					max=L;
				}
				s=e+1;
				L=0;
			}
		}
		if( L >= max ){
			start=s;
			end=e-1;
			max=L;
		}
		str[end+1]=0;
		printf("%s\n",str+start);
	}
	return 0;
}

原文地址:https://www.cnblogs.com/unclejelly/p/4082188.html