UVA400 Unix Is命令 Unix ls

题目描述

输入格式

输出格式

输入

10
tiny
2short4me
very_long_file_name
shorter
size-1
size2
size3
much_longer_name
12345678.123
mid_size_name
12
Weaser
Alfalfa
Stimey
Buckwheat
Porky
Joe
Darla
Cotton
Butch
Froggy
Mrs_Crabapple
P.D.
19
Mr._French
Jody
Buffy
Sissy
Keith
Danny
Lori
Chris
Shirley
Marsha
Jan
Cindy
Carol
Mike
Greg
Peter
Bobby
Alice
Ruben

输出

------------------------------------------------------------
12345678.123 size-1
2short4me size2
mid_size_name size3
much_longer_name tiny
shorter very_long_file_name
------------------------------------------------------------
Alfalfa Cotton Joe Porky
Buckwheat Darla Mrs_Crabapple Stimey
Butch Froggy P.D. Weaser
------------------------------------------------------------
Alice Chris Jan Marsha Ruben
Bobby Cindy Jody Mike Shirley
Buffy Danny Keith Mr._French Sissy
Carol Greg Lori Peter
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100+5;
const int maxcol = 60;
string filenames[maxn];
void print(string& str,int len,char op){
	cout<<str;
	for( int i=0; i<len-str.length(); i++ ) cout<<op;
}
int main()
{
	int n;
	while(scanf("%d",&n)==1&&n){
		int M=0;
		for( int i=0; i<n; i++ ){
			cin>>filenames[i];M=max(M,(int)filenames[i].length());
		}
		sort(filenames,filenames+n);
		printf("------------------------------------------------------------\n");
		int col=(maxcol-M)/(M+2)+1,row=(n-1)/col+1;
		for( int i=0; i<row; i++ ){
			for( int j=0; j<col; j++ ){
				int ind=j*row+i;
				if(ind<n) print(filenames[ind],M,' ');
			}
			printf("\n");
		}
	}	
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值