这一篇文章,我们来讨论一下,如何使用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++课程,还有大量干货哦
领取专属 10元无门槛券
私享最新 技术干货