中國的古人寫文字,是從右向左豎向排版的。本題就請你編寫程序,把一段文字按古風排版。
輸入格式:
輸入在第一行給出一個正整數N(<100),是每一列的字符數。第二行給出一個長度不超過1000的非空字符串,以回車結束。
輸出格式:
按古風格式排版給定的字符串,每列N個字符(除了最後一列可能不足N個)
輸入樣例:4 This is a test case輸出樣例:
asa T st ih e tsi ce s
注意字符串結尾‘\0’,與空格不同。。
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main()
{
int n,len,cnt,l;
char a[1100];
char ans[1002][1002];
memset(a,0,sizeof(a));
cin>>n;
getchar();
gets(a);
len=strlen(a),cnt=0;
l=len/n;
// cout<<len;
if(len%n!=0)
l++;
for(int i=l-1;i>=0;i--)
for(int j=0;j<n;j++){
if(cnt<len)
ans[j][i]=a[cnt++];
else
ans[j][i]=' ';//對於不夠要補充空格
}
for(int i=0;i<n;i++){
for(int j=0;j<l;j++){
cout<<ans[i][j];
}
cout<<endl;
}
return 0;
}