L1-039. 古风排版

L1-039. 古风排版

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

输入格式:

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

输出格式:

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

输入样例:

4
This is a test case

输出样例:

asa T
st ih
e tsi
 ce s

#include<iostream>
#include<cstring>
using namespace std;
int main(){
	int N,len=0,i,j,x;
	char s[1100];
	memset(s,0,1100);
	scanf("%d",&N);
	getchar();
	while((s[len]=getchar())!=‘\n‘){len++;}
		if(len%N!=0){for(i=0,x=len;i<N-len%N;i++)s[x++]=‘ ‘;}
		else x=len;
		for(i=0;i<N;i++){
			for(j=x/N-1;j>=0;j--){
				printf("%c",s[j*N+i]);
			}
		printf("\n");
	}
}

  

数组长度害人不浅。

在最后一列补进去的空格足够的空格,然后按照行和列的一维数组下标特征值输出就好啦。

需要注意的是,如果采取补进去空格的这种方法,需要把数组开到足够大,(刚开始开了1001,一直提示段错误),假设1000个字符串,N=99,则需要一个容纳1089个字符的数组。

时间: 2024-10-10 01:16:14

L1-039. 古风排版的相关文章

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

L1-039. 古风排版 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空字符串,以回车结束. 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个) 输入样例: 4 This is a test case

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

PAT-GPLT训练集 L1-039 古风排版 注意:在输入字符串时,最后一个字符为'\0', 虽然输出时显示为空格,但是系统检查为'\0'!!! 代码: #include<stdio.h> #include<string.h> char a[1005]; int str[1005][1005]; int n; int main() { for(int i = 0; i < 1005; i++) a[i] = ' '; for(int i = 0; i < 1005;

PAT L1-039 古风排版

https://pintia.cn/problem-sets/994805046380707840/problems/994805091888906240 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空字符串,以回车结束. 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个) 输入样例: 4 This is a test

4.7-4.9补题+水题+高维前缀和

题目链接:51nod 1718 Cos的多项式  [数学] 题解: 2cosx=2cosx 2cos2x=(2cosx)^2-2 2cos3x=(2cosx)^3-3*(2cosx) 数归证明2cos(nx)能表示成关于2cosx的多项式,设为f(n) f(1)=x,f(2)=x^2-2(其中的x就是2cosx) 假设n=1~k时均成立(k>=3) 当n=k+1时 由cos((k+1)x)=cos(kx)cos(x)-sin(kx)sin(x) cos((k-1)x)=cos(kx)cos(x)

C博客作业--指针

一.PTA实验作业 题目1:6-3 统计大于等于平均分人数 1. 本题PTA提交列表 2. 设计思路(伪代码或流程图) int fun ( float *s, int n, float *aver ) 定义整型变量i,j:浮点型变量sum=0,ave 遍历数组 sum=sum+*(s+i) 求平均分 ave=sum/n*1.0 n=0: 遍历数组,若大于等于ave,n++ *aver=ave 返回n值 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明 一开始计算平均分ave的时候,

PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/problem-sets/994805046380707840/problems 目录 (点击对应题目即可进入相应题解--小声BB--) L1-001 Hello World (5 分) L1-002 打印沙漏 (20 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5

团体程序设计天梯赛-练习集(二)

L1-041 寻找250 (10分) https://pintia.cn/problem-sets/994805046380707840/problems/994805089657536512 #include <cstdio> #include <iostream> using namespace std; int main() { int n,flag=0; int num=1; int value; while(scanf("%d",&n)!=EO

开关电源PCB排版,基本要点分析

1 开关电源PCB排版基本要点 1.1 电容高频滤波特性 图1是电容器基本结构和高频等效模型. 电容的基本公式是 式(1)显示,减小电容器极板之间的距离(d)和增加极板的截面积(A)将增加电容器的电容量. 电容通常存在等效串联电阻(ESR)和等效串联电感(ESL)二个寄生参数.图2是电容器在不同工作频率下的阻抗(Zc). 一个电容器的谐振频率(fo)可以从它自身电容量(C)和等效串联电感量(LESL)得到,即 当一个电容器工作频率在fo以下时,其阻抗随频率的上升而减小,即 当电容器工作频率在fo

正则化方法:L1和L2 regularization、数据集扩增、dropout

本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习/深度学习算法中常用的正则化方法.(本文会不断补充) 正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程,网络在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大--因为训练出来的网络过拟合了训练集,对训练集外的数据却不work