题目大意:让我们把代码对齐,缩进空格
注意的点: 每行的最后一个单词是不需要空格的。
#include <bits/stdc++.h>
using namespace std;
#define maxn 1005
vector<string> data[maxn];
int main()
{
//freopen("D://in.txt","r",stdin);
char c;
int num = 0;
char s[190];
int snum = 0;
while(c = getchar())
{
if(c == EOF) break;
if(c == '\r' || c == '\n')
{
if(snum != 0)
{
s[snum] = '\0';
data[num].push_back(s);
snum = 0;
}
num++;
}
else if(c == ' '&& snum != 0)
{
s[snum] = '\0';
data[num].push_back(s);
snum = 0;
}
else if(c == ' ' && snum == 0) continue;
else
s[snum++] = c;
}
int nmax = 0;
for(int i = 0; i < num; i++)
{
int snum = data[i].size();
nmax = max(nmax,snum);
}
for(int i = 0; i < nmax; i++)
{
int lmax = 0;
for(int j = 0; j < num; j++)
{
if(i >= data[j].size()) continue;
int sss = data[j][i].size();
lmax = max(sss,lmax);
}
for(int j = 0; j < num; j++)
{
if(i >= data[j].size()) continue;
string s = "";
for(int k = 0; k < lmax-data[j][i].size(); k++)
s += " ";
if(i != data[j].size()-1)data[j][i] += s;
}
}
for(int i = 0; i < num ; i++)
{
for(int j = 0; j < data[i].size(); j++)
{
j != 0 ? cout<<' '<<data[i][j]:cout<<data[i][j];
}
cout<<endl;
}
return 0;
}