【题目描述】
一个以‘.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式。
【输入】
一个以‘.’结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。
【输出】
该句子中最长的单词。如果多于一个,则输出第一个。
【输入样例】
I am a student of Peking University.
【输出样例】
University
#include<stdio.h>
int main()
{
char a[100001];
gets(a);
int m=0,n=0;
int k;
for(int i=0;a[i]!='\0';i++)
{
if(a[i]!=' '&&a[i]!='.') // 判断是否有句号和空格,把单词分开并记录单词长度
m++;
else if(m>0)
{
if(m>n)
{
n=m; //记录最长单词的长度
k=i-m; //记录最长单词的初始位置
}
m=0; //别忘了长度清零进行下一次比较
}
}
for(int i=k;i<k+n;i++)
{
printf("%c",a[i]); //for循环输出最长单词
}
printf("\n");
return 0;
}