計算出行和列的大小,從最後一列往前填充。
#include <bits/stdc++.h>
using namespace std;
int main(){
int row;
cin >> row;
cin.get();
char input[100][100];
string cs;
getline(cin,cs);
int col=ceil(1.0*cs.size()/row);
//cout << row << " " << col << endl;
int cnt =0;
for(int j=col-1;j>=0;j--){
for(int i=0;i<row;i++){
if(cnt>=cs.size()){
input[i][j]=' ';
}else{
input[i][j]=cs[cnt];
cnt++;
}
}
}
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
cout << input[i][j];
}
cout << '\n';
}
return 0;
}