编写一个函数,输入一行字符,将此字符串中最长的单词输出。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
样例输入
I am a student
样例输出
student
#include<stdio.h>
#include<string.h>
int n;
char temp[10050][10050];
int word(char arr[])
{
int k=0,j=0;
char *p=arr;
while(*p)
{
if(*p==' ' && *(p+1)!=' ')
{
temp[k][j]='\0';
// puts(temp[k]);
k++;
j=0;
}
else
{
temp[k][j++]=*p;
}
p++;
}
return k;
}
void cmp()
{
char arr[100050];
int i,len1,len2;
strcpy(arr,temp[0]);
for(i=1;i<=n;i++)
{
len1=strlen(arr);
len2=strlen(temp[i]);
if(len2>len1)
{
strcpy(arr,temp[i]);
}
}
puts(arr);
}
int main()
{
char arr[100050];
gets(arr);
n=word(arr);
cmp();
return 0;
}