L1-039. 古風排版

中國的古人寫文字,是從右向左豎向排版的。本題就請你編寫程序,把一段文字按古風排版。

輸入格式:

輸入在第一行給出一個正整數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;
}


發佈了120 篇原創文章 · 獲贊 9 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章