uva400 Unix ls

郁闷啊

View Code
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cmp(const void *a,const void *b)
{
    return (strcmp((char*)a,(char*)b));
}
int main()
{
    char st[103][90];
    int m, i, len, r, k, t, j, l;
    while(scanf("%d",&m) != EOF)
    {    
        memset(st,0,sizeof(st));
        len = 0;
        getchar();
        for(i = 0;i < m; i++)
        {
            gets(st[i]);
            k = strlen(st[i]);
            if(len < k) len = k;
        }
        qsort(st,m,sizeof(st[0]),cmp);
        l = len;
        k = 0;
        while(l <= 60)
        {
            l += len+2;
            k++;
        }
        r = (m+k-1)/k;
        for(i = 0;i < 60; i++)
            putchar('-');
        printf("\n");
        for(i = 0;i < r; i++)
        {
            for(j = 0;j < k-1; j++)
            {
                printf("%s",st[j*r+i]);
                t = strlen(st[j*r+i]);
                t = len-t+2;
                while(t--)
                    printf(" ");
            }
            printf("%s\n",st[j*r+i]);
        }
    }
    return 0;
}

别的就不多说了,看看我将近做了十个小时的题目吧,快要崩溃了,主要是有一点点小细节忽略了,一着不慎满盘皆输!!!!!!

原文地址:https://www.cnblogs.com/SDUTYST/p/2594639.html