思路:读一次字符串确定最短长度和最长长度
用两个for循环依次遍历所有字符串,第一个for先输出最短长度的,第二个for再输出最长长度的

#include<stdio.h>
#include<string.h>

int main()
{
    char str[1000][1000];
    int i=  0;
    int min = 1001;
    int max = 0;
    int len;
    while(gets(str[i]))
    {
        len = strlen(str[i]);
        if(len < min)
            min = len;
        if(len>max)
            max = len;
        i++;
    }
    for(int j = 0;j<i;j++)
    {
        len = strlen(str[j]);
        if(len == min)
            puts(str[j]);
    }
    for(int j = 0;j<i;j++)
    {
        len = strlen(str[j]);
        if(len == max)
            puts(str[j]);
    }
    return 0;
}