# 关于阶梯式结构打印的思考(一)

关于阶梯式结构打印的思考(一)

    打印示例: A
              B  C
              D  E  F
              ``````

第一步(字符的打印):
法一(用数组承载)

char arr[] = {'A','B','C','D','E','F'};

法二(字符递增)

char ch = 'A';
ch++;

如何理解呢?
其实字符的本质也是数,即ASCII码值对应的那个数,递增可以认为是对那个数递增,如何根据ASCII码表对应上字符。

以法二为例,如下:
在这里插入图片描述

第二步(在适当的位置换行):
法一:
因为第1,3,6,10,15······个数的时候实现换行,所以我们要写一段代码来判断是否为1,3,6,10,15,·······。接着我们观察一下1,3,6,10······不就是1,2,3,4,5,······的前n项和公式吗?
然而,要写一段代码来判断是否为1,3,6,10······我们不妨引入c来记录循环的次数(此时令循环的次数等于第X个数),这样,我们就只需要判断c是否为1,3,6,10······即可
接着,要判断c是否为1,3,6,10······的话,根据等差数列的前N项和公式,只需要判断以下情况是否存在即可:

j * j + j == c * 2;(其中j为任意正整数)

总代码如下:
在这里插入图片描述

法二(来自同学的灵感----“他称为矩阵打印”)
两重for循环:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值