B2025 输出字符菱形

news/2025/3/7 5:43:05/文章来源:https://www.cnblogs.com/chatBlog/p/18756888

输出字符菱形 - 小白也能懂的图解笔记

🌟 题目简单说

我们要用 * 画一个"倾斜的菱形",形状像这样:

  ****
*********

一共5行,中间一行有5个星星,其他行对称减少。


🎯 核心思路:像折纸一样对称

把菱形想象成一张上下对称的折纸(中间一行是对折线)。我们只需要学会画一半,另一半就能"复制"出来!


🛠️ 分步拆解(附图解)

步骤1:确定总行数

菱形对角线长5 → 总行数=5(中间1行+上下各2行)

步骤2:给每行编号(关键!)

想象把中间行标记为 第0行,其他行向上为负、向下为正:

  行号 | 图形-2  |   *      ← 最上面-1  |  ***0  | *****    ← 中间+1  |  ***+2  |   *      ← 最下面

步骤3:找规律(重点!)

观察每行的两个要素:

  1. 空格数 = 行号的绝对值(比如行号-2 → 绝对值2 → 2个空格)
  2. 星号数 = 5 - 2×空格数
行号 绝对值 空格数 星号数计算 结果
-2 2 2 5-2×2=1 *
-1 1 1 5-2×1=3 ***
0 0 0 5-2×0=5 *****
+1 1 1 5-2×1=3 ***
+2 2 2 5-2×2=1 *

步骤4:通用公式

设中间行号为0,总层数的一半为n(这里n=2):

  • 空格数 = |行号|
  • 星号数 = 5 - 2×空格数
    (更通用:星号数 = 2×(n - 空格数) + 1

🖥️ 代码逐行解析

#include <iostream>
using namespace std;int main() {int n = 2; // 控制一半的层数(总层数=2n+1)for (int row = -n; row <= n; ++row) { // 行号从-2到+2int spaces = abs(row); // 计算空格数int stars = 2*(n - spaces) + 1; // 计算星号数cout << string(spaces, ' ') // 打印空格<< string(stars, '*')  // 打印星星<< endl;}return 0;
}

代码图解

假设当前行号 row = -1

  1. spaces = abs(-1) = 1 → 打印1个空格
  2. stars = 2*(2-1)+1 = 3 → 打印3个星星
  3. 组合结果:" ***"

💡 常见问题

为什么行号要从负数开始?

为了让计算对称,避免单独处理上半部分和下半部分。绝对值函数帮我们统一处理。

如何改变菱形大小?

修改n的值:

  • n=2时 → 总行数5(题目要求)
  • n=3时 → 总行数7(更大的菱形)

🎓 总结口诀

号,
绝对行号算空格,
总数减倍得星星。
对称循环真巧妙!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894917.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

熟人挖锑矿项目个人参与, 融资部分资金(有效期 2025年3月- 2025年4月)

本人985,中南大学, 计算机行业工作。 平时偶尔看机缘投一些熟人之间的项目最近有熟人介绍一个项目 。熟人包了一个山,在东南亚那边, 山上发现有露天锑矿, 利润非常可观。 准备开挖,跟了很久,这个月(2025年3月-2025年4月) 开始,拉了几个人合伙投资,这个月或下个月…

photoshop 色彩平衡工具

色彩平衡工具作用于单个像素。 在不勾选保持明度的情况下,加红减青相当于直接增加像素的R值。相应的,加青减红相当于等比例降低G和B。 其他两项亦然。 也就是说,加红相当于直接在R通道上拉曲线。在勾选保持明度的情况下,加红减青会增加R值,降低G和B以保持明度不变。推测此…

从零到一打造商用AIAgent

这篇内容将从整体上介绍打造 AI Agent 的七个步骤,分别是需求梳理、软件选型、提示工程、数据库、构建 UI 界面、测试评估和部署发布。 梳理工作流 第一步,我们需要做的工作就是梳理需求。 首先,我们需要明确,做这个 AI Agent 是为了帮我们解决什么问题?如果你是一位自媒…

[AI/AIGC/LLM] 通义千问QwQ-32B: 阿里巴巴开源的、最新最强开源(推理)大模型 | Apache 2.0

序:2025年3月6日凌晨,阿里巴巴发布并开源全新的推理模型通义千问QwQ-32B。 通过大规模强化学习,千问QwQ-32B在数学、代码及通用能力上实现质的飞跃,整体性能比肩DeepSeek-R1。 在保持强劲性能的同时,千问QwQ-32B还大幅降低了部署使用成本,在消费级显卡上也能实现本地部署…

The Vendi Score: A Diversity Evaluation Metric for Machine Learning 论文笔记

介绍 我们基于生态学和量子统计力学的思想,提出了 Vendi 分数用来解决多样性评估问题 Vendi 分数不需要参考数据集或样本或标签的分布,因此它是通用的,适用于任何可以定义相似性的领域的生成模型、解码算法和数据集 创新 之前的多样性指标的适用性可能受到限制,因为它们需要…

MM-LLMs: Recent Advances in MultiModal Large Language Models 论文笔记

介绍 这是一篇多模态大模型的综述 MM-LLM面临的核心挑战是如何有效地将LLM与其他模式的模型连接起来以实现协作推理 建立了一个网站(https://mm-llms.github.io)来跟踪MM-LLM的最新进展并方便大家更新 模型架构冻结部分不可训练,未冻结部分是可训练的Modality Encoder:对不…

Root cause detection in a service-oriented architecture 论文笔记

背景 MonitorRank 是最早使用随机游走的策略定位故障根因服务的方法,MonitorRank 把系统的服务分成三类:前端服务:负责接收用户的请求以及进一步调用下游请求以完成用户的请求。 应用服务:负责真正处理用户请求的逻辑。 数据服务:负责提供经过包装的数据。(应用服务和数据…

MM-LLMS 论文笔记

介绍 这是一篇多模态大模型的综述 MM-LLM面临的核心挑战是如何有效地将LLM与其他模式的模型连接起来以实现协作推理 建立了一个网站(https://mm-llms.github.io)来跟踪MM-LLM的最新进展并方便大家更新 模型架构冻结部分不可训练,未冻结部分是可训练的Modality Encoder:对不…

MonitorRank 论文笔记

背景 MonitorRank 是最早使用随机游走的策略定位故障根因服务的方法,MonitorRank 把系统的服务分成三类:前端服务:负责接收用户的请求以及进一步调用下游请求以完成用户的请求。 应用服务:负责真正处理用户请求的逻辑。 数据服务:负责提供经过包装的数据。(应用服务和数据…

MicroRank 论文笔记

任务 异常检测->根因定位(服务实例级别)(针对延迟问题) 贡献MicroRank 是第一种通过正常和异常trace提取信息来对微服务应用程序进行根本原因定位的方法 我们提出了一种基于扩展频谱分析的微服务环境中新颖的根本原因定位方法 我们将 OpenTelemetry trace API 纳入 Goog…

Log3T 论文笔记

挑战 ① 基于可用日志先验知识设计的日志解析器性能有限,且不具有泛化性 ② 一些日志解析器在日志本身差异性大时无法正常工作 ③ 劳动密集型模型调整 框架离线训练 使用 WordPiece 进行 Tokenization(子词模型),然后输入到 Transformer 中进行上下文特征集成,然后输入 si…

软件工程-作业2:第一次个人编程作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023这个作业在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023/homework/13324这个作业的目标 系统化流程地完成软件开发,使用性能测试工具和单元测试以优化…