题目分析:
1.如何将字符放到对应的位置
2.注意不足补空格
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <set>
using namespace std;
const int N = 1000 + 10;
int n;
string line;
int main()
{
cin>>n;
getchar();
getline(cin, line);
int c = n, r = (line.size() - 1) / n + 1;
char s[c + 5][r + 5] = {};
int k = 0;
for (int i = r - 1; i >= 0; i -- )
{ for (int j = 0; j < c; j ++ )
{
if(k < line.size())
{
s[j][i] = line[k++];
}
else
s[j][i] = ' '; //注意这里必须要补空格
}
}
for (int i = 0; i < c; i ++ )
{
for (int j = 0; j < r; j ++ )
{
cout<<s[i][j];
}
cout<<endl;
}
return 0;
}