#include<stdio.h>
#include<string.h>
main()
{
char x[128][128]={0};
char ch[4096]={0};
int i=0;
int w=0,p=0;
int len=0,max=0,top=0;
gets(ch);
while(ch[i]!='\0' && i<4096)
{
if(ch[i]==' ') {w++;p=0;i++;continue;}
else x[w][p]=ch[i];
p++;
i++;
}
for(int j=0;j<=w;j++)
{
len=strlen(x[j]);
if(max<len) {max=len;top=j;}
}
printf("%s 最长\n",x[top]);
}
貌似满足你的要求。代码我拷的被人的,没有调试过。但应该是正确的!自己好好看看吧,以后遇到这样的题目自己多想想。没人愿意从头写个代码给你的!