最长单词
时间限制: 1Sec 内存限制: 128MB
题目描述
编写一个函数,输入一行字符,将此字符串中最长的单词输出。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
输入
无
输出
无
样例输入
I am a student
样例输出
student
代码:
#include<stdio.h>
#include<string.h>
int main()
{
char a[100000],b[100000],c[100000];
gets(a);
int i,j,len=strlen(a),max=0,f=0,k=0,l;
for(i=0;i<len;i++)
{
k++;
if(a[i]!=' ') {b[f]=a[i];f++;}
if(a[i]==' ')
{
l=k;
if(max<f)
{
max=f;
for(j=0;j<max;j++)
c[j]=b[j];
}
f=0;
}
}
if(len-l>max)
for(j=l;j<len;j++)
printf("%c",a[j]);
else
for(j=0;j<max;j++)
printf("%c",c[j]);
printf("\n");
return 0;
}