网址如下:
Alignment of Code - UVA 1593 - Virtual Judge (vjudge.net)
(第三方网站)
一遍过
虽然大学生心理课搞得我有点分心,但是细节还是处理好了
代码如下:
#include<vector>
#include<algorithm>
#include<string>
#include<cctype>
using namespace std;
bool scanf_line(int n);
void print_line(const vector<string> &s);
int maxNOfW;//一行最多的单词数
int maxWL[101];//第i位单词的最大的单词长度
vector<string> lines[1000 + 10];
int main(void)
{
int n = 0;
while(scanf_line(n))
{maxNOfW = (maxNOfW > lines[n].size()) ? maxNOfW : lines[n].size(); n++;}
for(int i = 0; i < n; i++)
print_line(lines[i]);
}
bool scanf_line(int n)
{
int m = 0;
char c = getchar();
if(c == EOF) return false;
ungetc(c, stdin);
while(true)
{
while((c = getchar()) == ' ')
;
if(c == '\n') return true;
string s;
do
{
s.push_back(c);
}while((c = getchar()) != ' ' && c != '\n');
lines[n].push_back(s);
maxWL[m] = (maxWL[m] > s.size()) ? maxWL[m] : s.size(); m++;
if(c == '\n') return true;
}
return true;
}
void print_line(const vector<string> &s)
{
int s_size = s.size();
for(int i = 0; i < s_size; i++)
{
printf("%s", s[i].c_str());
if(i != s_size - 1)
for(int j = s[i].size(); j <= maxWL[i]; j++)
putchar(' ');
}
putchar('\n');
}
写得有点乱
&spm=1001.2101.3001.5002&articleId=136557009&d=1&t=3&u=cd56bb8fe7aa4cdba63f873fa2b05869)

被折叠的 条评论
为什么被折叠?



