蓝桥杯-打印六芒星

本文介绍如何使用C++解决蓝桥杯中的一道图形打印题——打印六芒星。通过对图形的观察和分析,利用for循环的嵌套,找到行与图案的关系以及对称性,简化代码。关键在于理解六芒星由多个三角形组成,通过计算行数与空格、星号的关系确定打印模式。
摘要由CSDN通过智能技术生成

 这是上海市计算机学会2022年7月丙组的压轴题和之前蓝桥杯的大题一模一样。

不过,之前在csdn上看了很多,都java做的(互相抄的吧~)看懂之后,就用自己熟悉的语言再做一次!

这道题看着复杂,不过图形打印题,无非是for循环的嵌套使用,最最关键的是找到行和图案的关系。然后,找关系后,还要看看对称性。对称性可以帮助我们省略很多代码。

这道题,六芒星,看着复杂,但是分解以后实际上是由几个三角形组合而成的。而且边长就是4

 经过观察,第3行,第5行*后有空格(包括对称)其它都  空格+‘*’ 这样的结构。

第一行的*前有9个空格;n*2+1

第二行前8个空格,*后1个空格;第三行前7个空格,*后3个空格;即,2到n-1行;

这个地方困扰我很久,后来发现大部分*都是后面伴随空格。如果第三行(n-1行)的3个空格看作一个*伴随一个空格,另一个星前面空2格,(2*row-2)好处理很多。

第四(n)行 这里6n-5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xy404chef

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值