C语言编程练习之——打印点阵三角形

这一篇文章,我们来讨论一下,如何使用C语言,实现下面这个效果:

上面这些点,组成了一个三角形。这个效果,该怎样实现呢?

首先,我们来分析一下规律:

第一行,有1个点;第二行,有3个点,第三行,有5个点;第四行,有7个点;第五行,有9个点。以此类推。

1、3、5、7、9

这是奇数的组合,也就是说:每一行点的个数,是奇数。

这个有什么规律呢?我想了一下,觉得这个规律很合适:是一个数学的规律: 2n-1

n就是行数。比如第一行,点的个数是: 2 x 1 - 1 = 1

第二行,点的个数是: 2 x 2 - 1 = 3

第三行,点的个数是: 2 x 3 - 1 = 5

第四行,点的个数是: 2 x 4 - 1 = 7

以此类推。

那么,这个公式对不对呢?答案是:我也不知道。我只是猜想它是对的。在真实的数学中,连1+1=2都是要经过证明的。我不是专门学数学专业,无法证明这个公式(2n-1)对不对。

但是,在大的概率上来说,这个公式是对的。因为我尝试了很多遍,使用这个公式,确实可以打印出这个三角形。

然后,我们再来分析一下,每个点前面的空格的规律:

看下面这个图:

假设打印的三角形,总共只有四行,那么:

第一行,点的前面有3个空格;

第二行,点的前面有2个空格;

第三行,点的前面有1个空格;

第四行,点的前面没有空格;

大家可以测试一下,如果三角形有5行,或者6行时候的规律。

总结出来的规律是: 每一行前面的空格个数,是: 总的行数 - n

也就是说,假设打印的三角形,总共只有四行,那么:

第一行,点的前面有 4-1=3 个空格;

第二行,点的前面有 4-2=2 个空格;

第三行,点的前面有 4-3=1 个空格;

第四行,点的前面有 4-4=0 个空格;

找到这个规律以后,我们就可以写代码了。C语言代码如下图所示:

零基础小白到大神之路,欢迎加c++学习裙 五五三零一四三八三,邀请码(逍遥) 群里有免费c/c++课程,还有大量干货哦

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171220A04EVD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励