UVa1593

//UVa1593 - Alignment of Code
#include<iostream>
#include<string>
#include<sstream>
#include<vector>
#include<algorithm>
using namespace std;
vector<vector<string> >ans;
int len[200];
void print(string &s, int len, char extra){
	cout<<s;
	for(int i = s.length(); i < len; i++)
		cout<<extra;
}
int main(){
	string s1;
	//freopen("UVa1593.in","r",stdin);
	//freopen("UVa1593.out","w",stdout);
	//int n = 0,maxlen = 0;
	// gets string
	while(getline(cin,s1)){
		stringstream ss(s1);
		string s2;
		int count = 0;
		vector<string>linshi;
		while(ss>>s2){
			linshi.push_back(s2);
			len[count] = max(len[count],(int)s2.size());
			count++;
		}
		ans.push_back(linshi);
	}
	unsigned i, j;
	for(i = 0; i<ans.size(); i++){
		for(j = 0; j<ans[i].size()-1;j++){
			print(ans[i][j],len[j]+1,' ');
		}
		printf("%s",&ans[i][j][0]);
		printf("
");
	}
	return 0;
}

//已AC

原文地址:https://www.cnblogs.com/gwj1314/p/9444922.html