如何用C语言打印出三角星号塔?

2026-02-21 13:57:54

1、我用的CodeBlocks来进行演示。

如何用C语言打印出三角星号塔?

2、打开软件输入程序,运行,可得到三角塔。(程序我会发在最后一步)。

如何用C语言打印出三角星号塔?

3、下来我说一下内部程序每一步都是什么作用。(外部环境程序就不说了,基础)。

4、创建所需变量,i  j  k  space,特别注意space,之所以给它复制空格,因为三角塔其实是一个左半部分为一个空格组成的半个倒三角形(如图标记)。

如何用C语言打印出三角星号塔?

如何用C语言打印出三角星号塔?

5、在接下来这个for循环嵌套中,可以发现  i  j  各控制一个变量,如果你自己在纸上一个一个写出来每次循环的话,就会发现,i  在控制横行,而  j  在控制每一列,因为内部for j>=i  ,所以可以看出,每横行随着  i  一次次的增大而打印的空格越来越少(这个嵌套就是打印上面说的半个空格倒三角形,)。 

如何用C语言打印出三角星号塔?

6、而如图这个循环就是在每横行空格打印完后补上需要的‘ * ’。

如何用C语言打印出三角星号塔?

7、上面所说的打印空格的规律是:

第1横行,打印3个空格。

第2横行,打印2个空格。

第3横行,打印1个空格。

第4横行,打印0个空格。

8、而在后面补上的信号规律则是:

第1横行,补上1个星号。

第2横行,补上3个星号。

第3横行,补上5个星号。

第4横行,补上7个星号。

而这个需要自己在输入程序之前发现每行补上的数目与每行的关系,即可列出程序。,上面的空格也是,不过相比之下比这个简单,不用验算就看得出来规律。

9、完整程序如下:

#include <stdio.h>

#include <stdlib.h>

main()

{

 int i,j,k;

 char space=' ';

 for(i=1;i<=4;i++)

 {

     for(j=3;j>=i;j--)

     {

         printf("%c",space);

     }

     for(k=1;k<=(2*i-1);k=k+1)

     {

         printf("*");

     }

     printf("\n");

 }

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢