PTA古代スタイルの組版(シミュレーション)

L1-039アンティークタイプセット(20ポイント)

分析:

この質問は単純なシミュレーションです。1次元の文字列を2次元の文字列にシミュレートすると、出力は比較的安定しますが、1次元の文字列を直接シミュレーションして出力すると、データが1000未満であることが保証されるだけなので、問題が発生します。フォーマットに従って出力する場合は、スペースを埋めて1000を超えてしまうため、1次元配列のサイズは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