当前位置: 首页 > news >正文

L1-039 古风排版(C++)

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

输入格式:

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

输出格式:

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

输入样例:

4
This is a test case

输出样例:

asa T
st ih
e tsice s

 参考代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 10010;
char g[N][N];
int n;
char s[N];
int main()
{cin>>n;getchar();string s;getline(cin,s);int len = s.size();int m = len/n;while(n*m<len) m++;int cnt = 0;for(int i=m-1;i>=0;i--)for(int j =0;j<n;j++){if(cnt<s.size()) g[j][i] = s[cnt++];else g[j][i] = ' ';}for(int i=0;i<n;i++){for(int j=0;j<m;j++)cout<<g[i][j];cout<<endl;}return 0;}

代码思想:给出了n==行,求出列数,m=size()/n,但当size%n!=0时说明m取的太小字符串不能全部存入。

eg:size = 15,n=4,m=15/4= 3,但是n*m==12存不开,所以找到n*m刚好大于size的时候。

将数据存入矩阵中读出:(如果按从(0,0)每行读取)

存储图:7,4,1

               8,5,2

               9,6,3

通过先从最后一列存储得到矩阵。

相关文章:

  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的条形码二维码检测系统(深度学习+UI界面+训练数据集+Python代码)
  • Oracle 死锁、指标汇总
  • 有点NB的免费wordpress主题模板
  • Neo4j 批量导入数据 从官方文档学习LOAD CSV 命令 小白可食用版
  • PHP+Lunix+GIT 如何快速使用宝塔WebHook快速自动化部署
  • C++训练营:引用传递
  • 计算机服务器中了devos勒索病毒怎么解密,devos勒索病毒解密工具流程
  • 【计算机网络教程】第一章课后习题答案
  • Websocket在Asp.net webApi(.net framework)上的应用
  • JAVA后端开发面试基础知识(九)——SpringBoot
  • 机器学习模型—逻辑回归
  • Win11系统启动VMware上虚拟机蓝屏解决办法
  • 十步打造JAVA应用服务器
  • go docker sdk 使用 第二章
  • ubuntu 23.04 安装 中文输入法
  • [译]前端离线指南(上)
  • 《Java编程思想》读书笔记-对象导论
  • 【347天】每日项目总结系列085(2018.01.18)
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • conda常用的命令
  • download使用浅析
  • Go 语言编译器的 //go: 详解
  • golang 发送GET和POST示例
  • Hibernate【inverse和cascade属性】知识要点
  • HTTP请求重发
  • JavaScript实现分页效果
  • Java应用性能调优
  • php ci框架整合银盛支付
  • python学习笔记-类对象的信息
  • React的组件模式
  • Tornado学习笔记(1)
  • ucore操作系统实验笔记 - 重新理解中断
  • Vue 2.3、2.4 知识点小结
  • yii2权限控制rbac之rule详细讲解
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 深入浅出Node.js
  • 使用docker-compose进行多节点部署
  • 学习JavaScript数据结构与算法 — 树
  • 学习使用ExpressJS 4.0中的新Router
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • ​2021半年盘点,不想你错过的重磅新书
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #Linux(make工具和makefile文件以及makefile语法)
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (3)(3.5) 遥测无线电区域条例
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (排序详解之 堆排序)
  • (四)Linux Shell编程——输入输出重定向
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)