输入一个字符串,将此字符串中最长的单词输出。要求至少使用一个自定义函数。
输入格式:
测试数据有多组,处理到文件尾。每组测试数据输入一个字符串(长度不超过80)。
输出格式:
对于每组测试,输出字符串中的最长单词,若有多个长度相等的最长单词,输出最早出现的那个。这里规定,单词只能由大小写英文字母构成。
输入样例:
Keywords insert, two way insertion sort,
Abstract This paper discusses three method for two way insertion
words. insert, two way sorted.
You're a boy.
输出样例:
insertion
discusses
insert
You
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int get_max(char s[])
{
int i,max=0,temp=0;
for(i=0;s[i]!='\0';i++)
{
if((s[i]>='A' && s[i]<='Z') || (s[i]>='a' && s[i]<='z'))
temp++;
else
{
if(temp>max)
max=temp;
temp=0;
continue;
}
}
return max;
}
void output_max(char s[],int max)
{
int i,temp=0;
for(i=0;s[i]!='\0';i++)
{
if((s[i]>='A' && s[i]<='Z') || (s[i]>='a' && s[i]<='z'))
temp++;
else
{
if(temp==max)
{
for(int j=i-temp;j<i;j++)
printf("%c",s[j]);
printf("\n");
break;
}
temp=0;
continue;
}
}
}
int main()
{
int max=0;
char s[86];
while(gets(s))
{
max=get_max(s);
output_max(s,max);
}
return 0;
}