400 - Unix ls
来源:互联网 发布:php判断ajax请求 编辑:程序博客网 时间:2024/05/20 03:44
题目:400 - Unix ls
题目大意:将给的字符串排序,然后要求最多的列,最少的行的格式输出, 并且要对齐, 对齐的长度是字符串最长的那个长度+2。
解题思路:用sort(),然后控制一下输出的顺序,一行一行的输出。注意:当心程序里有除以0的程序;
#include<stdio.h>#include<stdlib.h>#include<string.h>const int N = 105;const int M = 65;int t, len, cloumn, row;char s[N][M];int l[N];void findmax() {len = l[0] = strlen(s[0]);for(int i = 1; i < t; i++) {l[i] = strlen(s[i]);if(len < l[i]) len = l[i];}}int cmp(const void * _a, const void * _b) {char * a = (char*) _a;char * b = (char*) _b;return strcmp(a,b);}int main() {int i, j, k;while(scanf("%d", &t) != EOF) {for(i = 0; i < t; i++)scanf("%s", s[i]);qsort(s, t, sizeof(s[0]), cmp);for(i = 0; i < 60; i++)printf("-");printf("\n");findmax();cloumn = 60 / (len + 2) == 0 ? 1 : 60 / (len + 2);if(t % cloumn == 0)row = t / cloumn;elserow = t / cloumn + 1;for(j = 0; j < row; j++) {for(i = j; i < t; i += row) {printf("%s",s[i]);for(k = 0; k < len + 2 - l[i]; k++)printf(" ");}printf("\n");}}return 0;}
0 0
- UVa 400 - Unix ls
- uva 400 Unix ls
- UVA 400 - Unix ls
- 400 - Unix ls
- uva 400 - Unix ls
- uva-400-Unix ls
- 400 - Unix ls
- UVaOJ 400 - Unix ls
- UVa 400 - Unix ls
- 400 - Unix ls
- UVA 400 Unix ls
- UVa 400 - Unix ls
- uva 400 - Unix ls
- UVa - 400 - Unix ls
- uva 400 Unix ls
- 400 - Unix ls
- UVa 400 - Unix ls
- UVa 400 - Unix ls
- 存储模式(大小端模式)对union 类型数据的影响
- 看到一篇文章不错【清华差生10年奋斗经历】
- Uni2D 入门 -- Asset Table
- js中文显示乱码
- undo表空间的切换,常识
- 400 - Unix ls
- 博客第一天
- arm命名规则
- Android中Bitmap、Drawable、byte[]转换
- 由GXPT初谈敏捷开发
- 日积月累--小技巧之六
- error while loading shared libraries
- Redis 实现Tomcat7集群扩展,session集中管理
- Hibernate注解映射类型