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

viple进阶4:打印空心三角形

题目:根据用户输入的行数n打印空心三角形,下图分别为n=3、n=4、n=5和n=10的效果图

第一步:观察效果图

  • 输入的行数为3,打印结果就有3行;输入的行数为4,则打印结果就有4行;以此类推,输入的行数为n,则打印n行
  • 第一个图,第一行打印1颗星;第二行打印2颗星第三行打印3颗星
  • 第二个图,第一行打印1颗星;第二行打印2颗星;第三行打印2颗星,且两颗星中间有一个空格,所以,第三行是打印了3个,分别是星号、空格、星号;第四行,打印了4颗星
  • 第三个图,第一行打印1颗星;第二行打印2颗星;第三行打印2颗星,且两颗星中间有一个空格,所以,第三行是打印了3个,分别是星号、空格、星号;第四行,打印了2颗星,且两颗星中间有2个空格,所以第四行打印了4个,分别是星号、空格、空格、星号,第5行打印了5颗
  • 第四个图,第一行打印1颗星;第二行打印2颗星;第3~9行,均打印2颗星,如果把行数记为n,,则每行中两颗星号之间的空格数分别是n-2。

第二步:设计解决方案与实现

首先打印的图形的行数需要用户进行输入,故,首先设计有一个数据活动传输数据给自定义活动。

自定义活动用于打印空心三角形

根据观察到的现象,发现,每个图形的第一行打印1颗星;第二行打印2颗星,最后一行打印的星号数和输入的行数相等。

其余的行数,打印的星号数均为2,分别在所在行的第一个位置和最后一个位置,其他的位置打印空格。

如果将行数i从0开始计数,则第一行是i==0时,表示第一行,此时需要打印1颗星;第二行是i==1,此时需要打印2颗星;所以,打印的星号数刚好可以通过行数i+1计算所得。当i==外部输入的行数时,此时打印的星号数等于行数,由于行数从0开始计数,而外部传入的行数是从1开始计数的,所以i==外部行数-1时,表示是最后一行了,需要打印外部行数这么多颗星。

由于要打印1颗星、打印2颗星甚至是n颗星,所以,创建一个自定义活动,用于打印n颗星(之前的讲解中曾多次提到,具体思考不再讲解)

刚刚已经考虑了第一行,第二行、第n行。还有3~n-1行的每一行打印,这些行有一个特点:每行均有两颗星,分别在该行的第一个位置和最后一个位置,其余位置均为空格。所以,需要单独写一个自定义活动来进行处理。

用变量j来标记某一行的位置,则j==0和j==n时,分别表示该行的第一个位置和最后一个位置,该位置上需要打印的是星号。其余位置,需要打印的是空格。

所以,需要将每行的每一个位置上应该打印的进行拼接,直到循环结束,把一行的所有需要打印的数据拼接完成后,形成:星号+空格(可能有多个)+星号的形式,再进行打印。

第三步:测试

输入10测试

输入20测试:

http://www.lryc.cn/news/224234.html

相关文章:

  • Oauth2.0的内容
  • npm 下载包失败解决方案
  • C语言---插入排序、希尔排序、冒泡排序、选择排序、快速排序简单介绍
  • 撸视频号收益这个副业靠谱吗?
  • 2、数组、Map+HashMap、Set+Hashset、Char和Character类、String类和Char类、Math类
  • ESP8266 WiFi模块快速入门指南
  • 微信小程序将后端返回的图片文件流解析显示到页面
  • 网络基础(1)
  • flink的AggregateFunction,merge方法作用范围
  • Day25力扣打卡
  • SpringCloud - OpenFeign 参数传递和响应处理(全网最详细)
  • Postgresql数据类型-布尔类型
  • SPASS-交叉表分析
  • 用Python的requests库来模拟爬取地图商铺信息
  • 使用EvoMap/Three.js模拟无人机灯光秀
  • 11.9存储器实验总结(单ram,双ram,FIFO)
  • linux(ubuntu)安装并使用scrcpy
  • linux rsyslog安装配置
  • 美国Embarcadero公司正式发布2023 RAD Studio Delphi C++ Builder 12 Athens
  • 树莓派4B的测试记录(CPU、FFMPEG)
  • 物联网AI MicroPython学习之语法 二进制与ASCII转换
  • 学之思项目的搭建部署 打jar包失败的解决方法
  • [100天算法】-定长子串中元音的最大数目(day 67)
  • Elastic Observability 8.11:ES|QL、APM 中的通用分析和增强的 SLOs
  • TexGen简单模型对应inp文件简单梳理-2
  • VUE获取当前日期的周日和周六
  • K8S篇之k8s containerd模式fail to pull image certificate signed by unknown authority
  • 算法进阶指南图论 最优贸易
  • 【Android】Debug时禁用主线程ANR限制
  • P6入门:项目初始化1-项目详情介绍