题目描述
一个以‘.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式。
输入
一个以‘.’结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。
输出
该句子中最长的单词。如果多于一个,则输出第一个。
样例
输入数据 1
I am a student of Peking University.
输出数据 1
University
我的代码
#include<stdio.h>
#include<string.h>
int main(){
char s[8000];//数组要开大一点,504 501会过不去测试点
gets(s);
int i;
int index=0,maxnum=0,num=0;
for(i=0;i<strlen(s);i++){
if(s[i]!=' '&&s[i]!='.'){
num++; //记录当前单词长度
}else{
if(num>maxnum){
maxnum=num;
index=i-maxnum; //记录单词开始下标
}
num=0; //长度归零
}
}
for(i=index;i<index+maxnum;i++){
printf("%c",s[i]);
}
return 0;
}