7-7 古風排版 (20分)
中國的古人寫文字,是從右向左豎向排版的。本題就請你編寫程序,把一段文字按古風排版。
輸入格式:
輸入在第一行給出一個正整數N(<100),是每一列的字符數。第二行給出一個長度不超過1000的非空字符串,以回車結束。
輸出格式:
按古風格式排版給定的字符串,每列N個字符(除了最后一列可能不足N個)。
輸入樣例:
4
This is a test case
輸出樣例:
asa T
st ih
e tsi
ce s
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
int n;
cin>>n;
getchar();
char a[1155];
cin.get(a,1155); //輸入帶有空格的字符串
int num=strlen(a); //cout<<num;
int num1;
int sub=(num/n); //num是長度,n是每列n個字符
if(num%n!=0)
{
sub++;
num1=sub*n; //sub是
for(int i=num;i<num1;i++)
{
a[i]=' ';
}
sub--;
for(int j=n;j>0;j--)
{
for(int i=num1-j;i>=0;i=i-n)
{
cout<<a[i];
}
cout<<endl;
}
}
else
{
for(int j=n;j>0;j--)
{
for(int i=num-j;i>=0;i=i-n)
{
cout<<a[i];
}
cout<<endl;
}
}
}