UVA400

来源:互联网 发布:怎么查淘宝账号权重 编辑:程序博客网 时间:2024/06/04 19:11

思路:麻烦在于输出的格式,lamx 为字符串中最长的,所以c = 62 / (lmax + 2), r = (n - c + 1) / c;

#include<stdio.h>#include<string.h>#include<stdlib.h>char s[105][105];int cmp_str(void const *a, void const *b){return strcmp((char *)a, (char *)b);}int main(){int n, lmax, c, r, m;while (scanf("%d", &n) != EOF){lmax = 0;getchar();for(int i = 0; i < n; i++){gets(s[i]);if (strlen(s[i]) > lmax)lmax = strlen(s[i]);}qsort(s, n, sizeof(s[0]), cmp_str);printf("------------------------------------------------------------\n");c = 62 / (lmax + 2);r = (n - 1 ) / c + 1;for(int i = 0; i < r; i++){for(int j = 0; j < c; j++){if (j * r + i >= n)break;printf("%s", s[j * r + i]);m = lmax - strlen(s[j * r + i]);for(int k = 0; k < m; k++)printf(" ");if (j != c)printf("  ");}printf("\n");}}return 0;}



原创粉丝点击