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.mfbz.cn/a/125699.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习(生成式模型)——Classifier Free Guidance Diffusion

文章目录 前言推导流程训练流程测试流程 前言 在上一节中,我们总结了Classifier Guidance Diffusion,其有两个弊端,一是需要额外训练一个分类头,引入了额外的训练开销。二是要噪声图像通常难以分类,分类头通常难以学习…

千万别对女项目经理抱有幻想

大家好,我是老原。 前段时间,有一个粉丝朋友来咨询我一个问题,多少是有点把老原我问蒙圈 现在职场上女PM并不少见,也有很多优秀的女PM。 我也有不少和女PM合作的经历,不得不说,和她们沟通/合作可以说是很…

虚幻C+++基础 day3

常见的游戏机制 Actor机关门 创建一个Actor类,添加两个静态网格与一个触发器 UBoxComponentUStaticMeshComponent 头文件: #include “Components/BoxComponent.h”#include “Components/StaticMeshComponent.h” TriggerDoor.h // Fill out your …

Godot4实现游戏的多语言版本

要在Godot 4中实现多语言版本的游戏,您需要按照以下几个步骤来设置和管理游戏文本以及可能的其他资源,如图像或声音。以下是根据官方文档和详细教程整理的简明指南: 准备翻译文件: Godot支持使用.csv文件或.po文件进行国际化​​…

SPASS-交叉表分析

导入数据 修改变量测量类型 分析->描述统计->交叉表 表中显示行、列变量通过卡方检验给出的独立性检验结果。共使用了三种检验方法。上表各种检验方法显著水平sig.都远远小于0.05,所以有理由拒绝实验准备与评价结果是独立的假设,即认为实验准备这个评价指标是…

javaSE学习笔记(二)数组,类,对象,成员变量,匿名对象,构造方法,static,final,封装,继承,多态

目录 三、面向对象 1.概述 面向过程与面向对象 面向对象编程特点 面向对象三个基本特征 2.数组 数组定义格式 数组的初始化 动态初始化 静态初始化 数组的内存分配 Java中的内存分配 数组的内存分配 数组的角标 数组的基本操作 二维数组(实际开发几乎…

VR全景技术,为养老院宣传推广带来全新变革

现如今,人口老龄化的现象加剧,养老服务行业也如雨后春笋般不断冒头,但是市面上各式的养老院被包装的五花八门,用户实际参访后却差强人意,如何更好的给父母挑选更为舒心的养老环境呢?可以利用720度VR全景技术…

JVM-垃圾回收

目录 1、GC过程 2、垃圾回收算法 2.1、标记-清除 2.2、标记-整理 2.3、复制 2.4、分代收集算法 3、TLAB 4、对象如何进入老年代 5、卡片标记 6、HotSpot垃圾回收器 6.1、年轻代垃圾回收器 6.2、老年代垃圾回收器 6.3、如何配置垃圾回收器 6.4、STW 7、CMS垃圾回收…

Qt 继承QAbstractTableModel实现自定义TableModel

1.简介 QAbstractTableModel是Qt框架中的一个抽象类,用于实现数据模型,用于在Qt的视图组件中展示和编辑表格数据。它提供了一些基本的接口和默认实现,可以方便地创建自定义的表格数据模型。 QAbstractTableModel的主要功能包括以下几点&…

吃啥大转盘

经常跟朋友出去吃饭&#xff0c;选择太困难了所以写了个简单的转盘&#xff0c;直接copy到txt文本然后把文件后缀改成html即可。 需要换食物直接在文件中找到 list 值按照格式替换一下即可。 效果&#xff1a; 代码块&#xff1a; <html><head><meta http-…

制作一个用户登录界面

Flask-WTF扩展使用Python类来表示web表单。表单类只是将表单的字段定义为类变量。 再次考虑到分离的问题&#xff0c;我将使用一个新的app/forms.py模块来存储我的web表单类。首先&#xff0c;让我们定义一个用户登录表单&#xff0c;它要求用户输入用户名和密码。表单还将包括…

Window 11中安装Rust编译环境和集成开发环境

https://blog.csdn.net/weixin_43882409/article/details/87616268是我参考的一篇文章。 下载 先到https://www.rust-lang.org/learn/get-started&#xff0c;下载64-Bit&#xff08;64位&#xff09;的rustup-init.exe文件。 使用其他方式进行安装的网址https://forge.rust…

Unity Mirror学习(二) Command属性使用

Command&#xff08;命令&#xff09;属性 1&#xff0c;修饰方法的&#xff0c;当在客户端调用此方法&#xff0c;它将在服务端运行&#xff08;我的理解&#xff1a;客户端命令服务端做某事&#xff1b;或者说&#xff1a;客户端向服务端发消息&#xff0c;消息方法&#xff…

(StateFlow ShareFlow) VS (Flow LiveData)

目录 数据流程 大致流程 切换线程 StateFlow & ShareFlow StateFlow 构建StateFlow &ShareFlow 在之前的Flow&#xff0c;collect函数浅析和仿Flow构建器创建数据流文章中我们探索了flow的简单使用及它的简单原理&#xff0c;但是生产过程中我们往往会借用这些基…

小程序订单中心path设置本次审核不通过,审核原因:小程序尚未发布,无法审核。

小程序尚未发布&#xff0c;无法审核。 先按照这篇文章把小程序审核通过&#xff0c;小程序版本审核未通过&#xff0c;需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path&#xff0c;请设置后再提交代码审核 小程序审核通过后&#xff0c;发布…

高效自学-网络安全(黑客技术)

一、网络安全应该怎么学&#xff1f; 1.计算机基础需要过关 这一步跟网安关系暂时不大&#xff0c;是进入it行业每个人都必须掌握的基础能力。 计算机网络计算机操作系统算法与数据架构数据库 Tips:不用非要钻研至非常精通&#xff0c;可以与学习其他课程同步进行。 2.渗透技…

Vue计算属性 computed

计算属性&#xff1a;常用于逻辑比较复杂的计算&#xff0c;根据已有的数据&#xff0c;计算出一个新的数据。计算属性具有缓存机制&#xff0c;复用性强&#xff0c;效率更高。 计算属性【简写方式】&#xff1a; <template><div>提现金额&#xff1a;<input …

【漏洞复现】XXL-JOB默认accessToken身份绕过远程命令执行漏洞

漏洞描述 xxl-job是一个中心式分布式的调度平台,调度中心和执行器解耦,执行器和业务代码耦合,代码的侵入性少,学习简单、开发简单、轻量级 XXL-JOB 是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线…

树莓派4B的测试记录(CPU、FFMPEG)

本文是用来记录树莓派 4B 的一些测试记录。 温度 下面记录中的风扇和大风扇是这样的&#xff1a; 为什么要用大风扇呢&#xff1f;因为小风扇在外壳上&#xff0c;气流通过外壳的珊格会有啸叫&#xff0c;声音不大但是很烦人&#xff0c;大风扇没这个问题&#xff0c;并且同样…

【计算机网络基础实验】实验二(补充内容)路由器的配置和静态路由

任务一 IP路由协议实现企业路由器通信 目录如下&#xff1a; 任务一 IP路由协议实现企业路由器通信一、实验目的&#xff1a;二、实验环境三、实验内容四、实验步骤1、路由器的基本配置&#xff08;1&#xff09;实验拓扑图&#xff08;2&#xff09;启动路由器&#xff08;3&a…
最新文章