描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入
一行句子。
输出
两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
提示
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词
#include<stdio.h>
#include<string.h>
int main()
{
char s[20001]={0},b[200][101]={0},max[101]={0},min[101]={0};
int i,j,len,r=-1,f=0;
gets(s);
len=strlen(s);
for(i=0;i<len;i++)
{
if(s[i]==' '||s[i]==',') //可忽略多个空格
{
f=0;
}
else //一旦遇到字母就进行新的单词存储
{
if(f==0)
{
f=1;
r++;
j=0;
}
b[r][j]=s[i];
j++;
}
}
strcpy(max,b[0]); //将b[0]拷贝给max
strcpy(min,b[0]); //将b[0]拷贝给min
for(i=0;i<=r;i++)
{
if(strlen(max)<strlen(b[i]))
{
strcpy(max,b[i]);
}
if(strlen(min)>strlen(b[i]))
strcpy(min,b[i]);
}
puts(max);
puts(min);
return 0;
}