PTA 7-16 古風排版

7-16 古風排版(20 分)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

4
This is a test case

輸出樣例:

asa T
st ih
e tsi
 ce s
#include<bits/stdc++.h>
using namespace std;
char C[1005][1005];
int main()
{
  int n,m,k,j;
  char s[1005];
  cin >> n;
  getchar(); //用這個來接收空格 
  cin.get(s,1005);
  int len = strlen(s);
  m = len/n;
  if(len%n != 0) m++; 
  int i = 0;
  for( k = m-1; k >= 0; k--){
    for(j = 0; j < n; j++){
      if(i < len)
        C[j][k] = s[i++];
      else
        C[j][k] = ' '; //當長度超過len時直接賦值空格。 
    }
  }
  for(j = 0; j < n; j++){ // 最後輸出。 
    for(k = 0; k < m; k++)
      cout << C[j][k];
    cout << endl;
  }
  return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章