L1-039. 古风排版

Posted diamondDemand

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了L1-039. 古风排版相关的知识,希望对你有一定的参考价值。

cin.getline(a, 3)只会向数组a中读进2个字符;

 

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

int main()
{
int n;
char a[1001];
cin >> n;
getchar();
cin.getline(a, 1001);
int len = strlen(a);
int k=0; //计数器
int row;
if(len%n==0)
row = len/n;
else
row = len/n+1; //c++默认向下取整
//char b[n][row];

char *b[n];
for(int i=0; i<n; i++)
{
char * temp= (char*)malloc(sizeof(char)*(row+1));
memset(temp, ‘ ‘, sizeof(char)*row);
b[i] = temp;
}
for(int i=0; i<n; i++)
b[i][row] = ‘\0‘;

for(int i=row-1; i>-1; i--)
for(int j=0; j<n; j++) //将a中的字符串放到二维数组中
{
b[j][i] = a[k];
k++;
if(k==len)
goto breakLoop;
}
breakLoop: cout << b[0];
for(int i=1; i<n; i++)
{
cout << endl << b[i];
}
return 0;
}

以上是关于L1-039. 古风排版的主要内容,如果未能解决你的问题,请参考以下文章

PAT L1-039 古风排版

L1-039. 古风排版

PAT-GPLT训练集 L1-039 古风排版

题解PTA团体程序设计天梯赛L1-039 古风排版 (20 分) Go语言 | Golang

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

2020.11.1--pta阶梯练习赛补题