学到了string的另一种构造方法,string(60,‘-’)
sort对string数组的排序,sort(a,a+n)
以前总不会..........
#include <iostream>
#include <algorithm>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
string a[105];
int n;
while(cin>>n&&n)
{
int M=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
if(a[i].length()>M)
M=a[i].length();
}
int cols=(60-M)/(M+2)+1;
int rows=(n-1)/cols+1;
cout<<string(60,'-');
cout<<endl;
sort(a,a+n);
for(int i=0;i<rows;i++)
{
for(int j=0;j<cols;j++)
{
int lx=i+j*rows;
if(lx>=n)
break;
if(j!=cols-1)
{
cout<<a[lx]<<string(M+2-a[lx].length(),' ');
}
else
cout<<a[lx];
}
cout<<endl;
}
}
}