PTA 古风排版 (模拟)

L1-039 古风排版 (20 分)

分析:

本题只是一道简单的模拟,如果把一维字符串模拟进二维字符串后输出会比较稳,但当直接将一维字符串模拟输出时就出现问题了,因为数据只保证小于1000,但为了符合格式输出时补上空格,就会超过1000,所以一维数组的大小必须大于1100才行。

代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    
    
	char a[1100] = {
    
     0 }, temp;
	int r, c, len;
	scanf("%d", &r);
	getchar();
	for (int i = 0; (temp = getchar()) != '\n'; i++)
	{
    
    
		a[i] = temp;
		len=i+1;
	}
    c = (len / r) + (len%r != 0);
    for (int i = len; i<r*c; i++)a[i] = ' ';
    len = r*c;
    for (int i = 0; i<r; i++)
    {
    
    
        for (int j = 0; j<c; j++)
        {
    
    
            printf("%c", a[len + i - j*r - r]);
        }
        puts("");
    }
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43700916/article/details/88426284