L1-039 古风排版(19分)
作者:
lvjj
,
2024-04-02 21:01:34
,
所有人可见
,
阅读 9
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
string s[N][N];
int zhizhen=0;
int main(){
int n;
cin>>n;
string str;
getchar();
getline(cin,str);
int lie;
int hang;
if(str.size()%n!=0)lie = str.size()/n + 1;//n个长度分隔一段,除不尽说明多出一个列元素有剩余
else lie = str.size()/n;
for(int i = lie-1;i>=0;i--){
hang = 0;
while(hang<n){
s[hang][i] = str[zhizhen++];
if(zhizhen>str.size())s[hang][i]=' ';//剩余的要用空格补齐
hang++;
}
}
for(int i = 0;i<n;i++){
for(int j=0;j<lie;j++){
if(str.size()/n!=0)cout<<s[i][j];
}
//特判
for(int j=1;j<lie;j++){
if(str.size()/n==0)cout<<s[i][j];
}
if(i<=n-1)cout<<endl;
}
return 0;
}