代码对齐(Alignment of Code)
输入若干行代码,要求各列单词的左边界对齐且尽量靠左。单词之间至少要空一格。
每个单词不超过80个字符,每行不超过180个字符,一共最多1000行
#include<stdio.h>
#include<iostream>
#include<cstring>
#include<vector>
#include<sstream>
using namespace std;
vector<string> ans[1005];
string s,temp;
int max_len[1005],columns,rows;
void print(string s,int len)
{
cout<<s;
for(int i=0;i<=len-s.size();i++)
{
printf(" ");
}
}
int main()
{
while(getline(cin,s))
{
stringstream io(s);
while(io>>temp)
{
max_len[columns]=max(max_len[columns],(int)temp.size());
columns++;
ans[rows].push_back(temp);
}
rows++,columns=0;
}
for(int i=0;i<rows;i++)
{
int j=0;
for(int j=0;j<ans[i].size()-1;j++)
{
printf(ans[i][j],max_len[j]);
}
cout<<ans[i][j]<<endl;
}
return 0;
}
还没有评论,来说两句吧...