记录值得记录下的事情

PAT-GPLT_L1-039. 古风排版

L1-039. 古风排版

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

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

输入格式:

输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

输出格式:

按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)

输入样例:

4
This is a test case

输出样例:

asa T
st ih
e tsi
 ce s

Code [C]

#include <stdio.h>
#include <string.h>
int main()
{
    int N, m;
    char s[1001], a[101][1001];
    scanf("%d", &N);
    getchar(); //防止回车被Gets 
    gets(s);
    int l=strlen(s), t=0;
    m=(l+N-1)/N; //和下面两行一样的效果
    int i, j;
    for(j=m-1; j>=0; j--)
    {
        for(i=0; i<N; i++)
        {
            if(t<l) a[i][j]=s[t++];
            else a[i][j]=' '; //不足的补空格
        }
    }
    for(j=0; j<N; j++)
    {
        for(i=0; i<m; i++)
            printf("%c",a[j][i]);
        printf("\n");
    }
    return 0;
}

标签: C, PAT, GPLT

添加新评论