uva400 - Unix ls
郁闷啊
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#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; }
别的就不多说了,看看我将近做了十个小时的题目吧,快要崩溃了,主要是有一点点小细节忽略了,一着不慎满盘皆输!!!!!!