输入1行句子

输入一行句子(不多于200个单词,每个单词长度不超过100),只包含字母,空格和逗号。单词有至少一个连续的子集构成,空格和逗号都是单词间的间隔。试输出第一个最长的单词和第一个最短的单词。

样例输入

I am studying Programming language C in Peking University

样例输出

Programming

I

切分法:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 20005
int main()
{
    char input[N],str[105][205];
    int i,j,row,col;
    char max[100],min[100];
   while( gets(input)!=NULL)
   {
        row=0;
        col=0;
        for(i=0;input[i]!='\0';i++)
        {
            if(input[i]!=','&&input[i]!=' ')
            {
                str[row][col]=input[i];
                col++;
            }
            else
            {
                str[row][col]='\0';
                row++;
                col=0;
            }
        }
        str[row][col]='\0';
        strcpy(max,str[0]);
        strcpy(min,str[0]);
        for(i=1;i<row;i++)
        {
            if(strlen(str[i])>strlen(max))
            {
                strcpy(max,str[i]);
            }
            if(strlen(min)>strlen(str[i]))
            {
                strcpy(min,str[i]);
            }
        }
        printf("%s\n",max);
        printf("%s\n",min);
   }
    return 0;
}

  

posted @ 2017-11-13 19:23  ss14457  阅读(1633)  评论(0编辑  收藏  举报