#include <stdio.h>
void main()
{
void longest(char string[100]);
char string[100];
gets(string);
longest(string);
}
void longest(char string[100])
{
char s[20];
int i,j=0,k=0,t[100],c[100],m,b,a,sum=0,n=0;
for(i=0;string[i]!='/0';i++) /*将每个单词的长度作为t[k]数组的一个元素*/
{
if(string[i]!=' ')j++;
else
{
t[k]=j;
k++;
j=0;
}
}
t[k]=j;
a=k;
for(m=0,k=0;m<a;m++,k++)/*将数组t[k]中的所有元素复制到另一个数组c[m]*/
c[m]=t[k];
for(b=1;b<a;b++)/*找到组t[ ]中的最大值*/
if(t[b]<t[b-1])
t[b]=t[b-1];
for(m=0;c[m]!=t[b-1];m++)/*计算最长的单词前面所有字符的个数,加一是因为有空格*/
sum=c[m]+1+sum;
for(n=0,sum=sum;(string[sum]!='/0')&&(string[sum]!=' ');sum++,n++)/*找到最长的单词*/
{
s[n]=string[sum];
printf("%c",s[n]);
}
printf("/n");
}