总时间限制: 1000ms 内存限制: 65536kB
描述
一个以’.'结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词。
输入
一个以’.'结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。
输出
该句子中最长的单词。如果多于一个,则输出第一个
样例输入
I am a student of Peking University.
样例输出
University
答案
#include <stdio.h>
#include <string.h>
typedef struct {char word[600];int len;
} word;
int main() {static word word_, wordMax;static char str[600], *p = str, *q;gets(str);for(; *p != 0; p++) {if(*p != ' ' && *p != '.') {word_.word[word_.len++] = *p;} else {if(wordMax.len < word_.len) {wordMax.len = word_.len;strcpy(wordMax.word, word_.word);}for(q = word_.word; *q != 0; q++) {*q = 0;}word_.len = 0;}}puts(wordMax.word);
}