c语言编写一个字母金字塔,【强迫症满足向】字母金字塔: C语言实现

本文介绍了如何使用C语言编写程序,生成满足强迫症患者的字母金字塔。通过分析菱形星星的规律,作者详细讲解了如何计算空格和字母的数量,并提供了完整的代码示例,包括升序和降序输出字母的逻辑。
摘要由CSDN通过智能技术生成

本质是for循环练习,金字塔在文后

一、初级阶段:输出菱形星星

这是一个for循环小练习

为满足强迫症需求, Leo先放个图爽一爽

fd9489b46031ca92374c7241fefee37e.png

算法本身不难, 注意循环结束条件, 初值的设置, 利用等差公式等等

要点有以下几点:

1.菱形行数一定为奇数

2.分上下2部分

3.上三角比下三角多一层 (行)

4.上半部分, 包含对称行, (n+1)/2行  【n为总行数】

5.下半部分, 不包括对称行, n/2 行

6.上半部分

第 i 行空格数: (n+1)/2 - i

第 i 行 " * " 数: j = 2 i - 1

7.下半部分【i 重新从1计数】

第 i 行空格数: i

第 i 行 " * " 数: j = n - 2 i【解释在下面】

8. 虽然下三角是倒着的, 但也满足等差数列, 公差为-2

问题是首项为几?

首项的 "*" 数其实等于对称行前一行的 "*" 数目,

上半部的星号个数满足:

j = 2i -1

对称行前一行的 i 值为

i = (n+1)/2 - 1

代入得

j = n - 2

所以n - 2就是下面等差数列的首项

下三角不包含

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值