7 7 古風排版

2021-10-08 23:03:55 字數 872 閱讀 5092

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

輸入在第一行給出乙個正整數n(<100),是每一列的字元數。第二行給出乙個長度不超過1000的非空字串,以回車結束。

按古風格式排版給定的字串,每列n個字元(除了最後一列可能不足n個)。

4this is a test case

asa t

st ih

e tsi

ce s

注:從左至右,依次為第一行、第二行…

每列 n 字元,輸出即為 n 行。

如果輸入的字元數 l % n !=0,說明第一列不滿 n 個字元,需要補空格(數目為 n - l%n 個);(此時補齊方便後面的輸出,補齊後,l 的值也要改變)

求出總的列數,設為 m ,m = l / n;

第 i 個字元的位置為 x ,則右邊的字元位置為 x - n,下面的字元位置為 x + 1

因此只要求出第一列第乙個字元的位置即可,兩種方法,從 1 開始算(n * (m - 1)),或從 l 開始算(l - n),接下來就看**吧。

#include

#include

#include

using

namespace std;

char s[

1005];

intmain()

if(l%n!=0)

}//第乙個解法

int y=l-n;

// for

(int i=

0;i(i!=n-1)

cout<}/* 另乙個解法

int m=l/n;// m 列,總的列數

for(int i=0;i=0;j-=n)

7 7 古風排版 (20 分

7 7 古風排版 20 分 中國的古人寫文字,是從右向左豎向排版的。本題就請你編寫程式,把一段文字按古風排版。輸入在第一行給出乙個正整數n 100 是每一列的字元數。第二行給出乙個長度不超過1000的非空字串,以回車結束。按古風格式排版給定的字串,每列n個字元 除了最後一列可能不足n個 4 this...

PTA古風排版

中國的古人寫文字,是從右向左豎向排版的。本題就請你編寫程式,把一段文字按古風排版。輸入在第一行給出乙個正整數n 100 是每一列的字元數。第二行給出乙個長度不超過1000的非空字串,以回車結束。按古風格式排版給定的字串,每列n個字元 除了最後一列可能不足n個 4 this is a test cas...

PTA 古風排版 (模擬)

l1 039 古風排版 20 分 本題只是一道簡單的模擬,如果把一維字串模擬進二維字串後輸出會比較穩,但當直接將一維字串模擬輸出時就出現問題了,因為資料只保證小於1000,但為了符合格式輸出時補上空格,就會超過1000,所以一維陣列的大小必須大於1100才行。include using namesp...