CCCC L1-039. 古风排版【图形输出/循环控制行列/模拟/细节】

L1-039. 古风排版

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越

中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

输入格式:

输入在第一行给出一个正整数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;
int main() {

    int n, t = 0;
    char s[1001],a[101][101];

    cin >> n;
    getchar();
    gets(s);//

    int len = strlen(s);
    int m = len / n;
    if(len%n!=0) m++;

    // m = 19 / 4 = 4 + 1 = 5
    // len = 14
    
    for(int j=m-1; j>=0; j--){
        for(int i=0; i<n; i++){
            if(t < len)  a[i][j] = s[t++];
            else a[i][j] = ' ';
        }
    }

    for(int j=0;j<n;j++)
    {
        for(int i=0;i<m;i++)
            printf("%c",a[j][i]);
        printf("\n");
    }
    return 0;
}
模拟

 

posted @ 2018-03-17 15:38  Roni_i  阅读(249)  评论(0编辑  收藏  举报