打印规律图形-人山人海(c++)

人山人海c++ 注:请尽量使用编程的思维解决问题,当然如果你一定要手打出来,我也不会拦着你。输出n层的金字塔,第i层有i个人,注意两个人之间的空隙大小。今天让我们来打印人形金字塔,感受下人山人海的力量。还记得打印金字塔的题目么?注意:1<=n<=10。 阅读详情

1. 题目

题目描述:
还记得打印金字塔的题目么?
今天让我们来打印人形金字塔,感受下人山人海的力量。
输入一个整数n
输出n层的金字塔,第i层有i个人,注意两个人之间的空隙大小
注:请尽量使用编程的思维解决问题,当然如果你一定要手打出来,我也不会拦着你。。。。
输入格式:
输出一个整数n
输出格式:
输出n层人形金字塔
样例输入1:
2
样例输出1:
2行

样例输入2:
4
样例输出2:
4行

约定:
1<=n<=10

2.分析

分析题目可知,我们需要一行一行的打印(前提是不用手打的办法哦
整个图形打印的过程中,有三个要变的量:每行第一个小人之前的空格数,每行小人的个数,最后一个小人的下标
我们先定义一个char类型的二维数组,就是一个单位小人
接着在for循环中定义r为当前是第几行,p为当前这行的第几个小人,i,j为单位小人遍历需要的变量,现在就可以找找规律(以小人的头的下标为例,其他的都是一样的
2行:
在这里插入图片描述
小人的头的横坐标:(r-1)* 小人的高度+i(现在遍历到的行数)
小人的头的纵坐标:(n-r)* 小人的宽度(这个是这一行所有的小人的宽度)+2*(p-1)小人的宽度(这个是这一行每个小人之间的空格数的总和)+j(现在遍历到的列数),由此可得,小人的头的下标为[(r-1) * H+i] [(n-r) * W+2(p-1) * W+j]
这样我们的规律就找到了,现在只需要写4层for循环(听起来有点可怕),分别循环r,p,i,j就可以啦
友情提醒
1.单位小人的那个数组头那一行后面要加空格哦,不然小人的头会掉下来哦~
2.小人的头是大写的O,不是小写的o
3.最后输出的数组最开始要全部赋值为空格
4.每个小人之间除了宽度还有一个空格
5.因为反斜杠\是特殊字符,所以定义的时候要写两个\

3. 完整代码

#include<bits/stdc++.h>
using namespace std;
#
C语言实验——打印金字塔 C语言实验——打印金字塔 Time Limit:1000 ms Memory Limit:65536 KiB Submit Statistic Discuss Problem Description 输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。 Input 输入只有一个正整数n。 Output 打印金字塔图形,其中每个数字之间有一个空格。 Sample Input... 阅读详情

相关推荐

【ubuntu】如何搭建AFTR+B4环境

为何要使用ipv6 目前ipv4地址已经不够用了,而IPv6采用128位地址长度,几乎可以不受限制地提供地址。而且ipv6具有更高的安全性。 主流的ipv6方案 1.双栈方案 :所有设备同时支持IPv4/IPv6协议栈,核心理念在于其传送网同时支持IPv4和IPv6 2.DS-Lite方案 :IPv4‐in‐IPv6 隧道和 NAT 这两个基本技术,同时支持IPV4与IPV6,对于ipv4用户,可以通过ipv6隧道与ipv4业务平台实现通信;针对ipv6用户,可直接通过ipv6网络通信。 3.6RD方案 :

weixin_43863426的博客 2723

Linux环境下离线升级GCC-9.4.0的完整实践指南

本文详细介绍了在Linux环境下离线升级GCC-9.4.0的完整实践指南,包括准备工作、依赖库安装、编译配置及常见问题解决。特别适用于企业内网或安全要求严格的服务器环境,帮助开发者高效完成GCC离线升级,提升编译性能并支持现代编程语言特性。

weixin_29288313的博客 671

STM32f103--ADC配置

2.对于规则通道,选中EXTI线路11或TIM8_TRGO作为外部触发事件,可以分别通过设置ADC1和ADC2的ADC1_ETRGREG_REMAP位和ADC2_ETRGREG_REMAP位实现。注意: 在双ADC模式里,当转换配置成由外部事件触发时,用户必须将其设置成仅触发主ADC,从ADC设置成软件触发,这样可以防止意外的触发从转换。2.在某些双ADC模式中,在完整的ADC1数据寄存器(ADC1_DR)中包含了ADC1和ADC2的规则转换数据。通过设置ADC_CR2寄存器的ADON位可给ADC上电。

weixin_51864506的博客 5313

STM32驱动AD2S1210实现旋变解码与角度读取

旋转变压器作为一种耐高温、抗振动的角度传感器,在工业伺服、机器人关节和电动汽车电驱等场景中占据重要地位。其输出信号需要经过专用转换芯片处理才能被MCU高效使用。AD2S1210是一款典型的旋变数字转换器(RDC),内部采用Type II型跟踪环,将模拟SIN/COS信号实时解算为数字角度与速度,降低了处理器负担并提升抗干扰能力。本文基于STM32平台,详细介绍了AD2S1210的硬件接线、SPI通信配置、寄存器初始化流程,以及读取位置数据时的SAMPLE脉冲时序等关键实现。同时总结了常见故障如全FF、角度跳

weixin_34194829的博客 196

FLACS-CFD 气云爆炸模拟全流程工况构建指南:从泄漏到爆炸

摘要: 本文详细介绍了使用FLACS-CFD模拟气云爆炸的全流程构建方法,重点解决泄漏模拟到爆炸模拟的气云文件传递问题。核心步骤包括: 项目规划:明确泄漏源(甲烷管道腐蚀泄漏)和爆炸场景,建立标准目录结构; 网格设计:泄漏与爆炸模拟需采用兼容的网格,爆炸域应为泄漏域的子区域且网格划分一致; 泄漏模拟配置:通过.inp文件定义几何、网格、风场、燃料及泄漏源参数,确保输出爆炸所需的气云文件(*.uni/*.fla); 关键设置:统一燃料名称、时间点匹配、路径正确性,避免版本兼容性问题。

huanghm88的专栏 765

STM32实战开发(71):STM32人脸识别开发教程:基于摄像头模块的人脸识别系统

在嵌入式系统中,STM32凭借其强大的计算性能、丰富的外设接口以及低功耗特性,成为了实现人脸识别系统的理想平台。STM32虽然没有强大的计算能力,但可以通过合理利用外部硬件加速模块,如DSP、GPU、FPGA等,结合轻量级的人脸识别算法,实现高效的人脸识别系统。尽管STM32的计算资源相对有限,但通过合理的优化和使用高效的算法,我们依然能够实现高效的人脸识别功能。在本项目中,我们使用。在STM32开发中,虽然处理能力有限,但通过优化算法和合理利用硬件加速,我们仍然可以实现一个轻量级的、实时的人脸识别系统。

2201_76125393的博客 1662

华为OD机考双机位C卷 - 员工派遣 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 员工派遣 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 1035

《网络安全自学教程》- OSI七层模型分层及作用,数据封装与解封过程,数据传输过程。

OSI分哪七层,每层的作用是什么,解释数据在七层模型中是怎样传输的,封包和解封过程,数据包在每一层是怎么封装和解封的。

wangyuxiang946的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: c++栈和队列
下一篇: 广度优先搜索-N的倍数
sync_async
博客等级 码龄4年 5粉丝 13原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值