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

3、下来我说一下内部程序每一步都是什么作用。(外部环境程序就不说了,基础)。
4、创建所需变量,i j k space,特别注意space,之所以给它复制空格,因为三角塔其实是一个左半部分为一个空格组成的半个倒三角形(如图标记)。

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

7、上面所说的打印空格的规律是:第1横行,打印3个空格。第2横行,打印2个空格。第3横行,打印1个空格。第4横行,打印0个空格。
8、而在后面补上的信号规律则是:第1横行,补上1个星号。第2横行,补上3个星号。第3横行,补上猱蝰逾鸾5个星号。第4横行,补上7个星号。而这个需要自己在输入程序之前发现每行补上的数目与每行的关系,即可列出程序。,上面的空格也是,不过相比之下比这个简单,不用验算就看得出来规律。
9、完整程序如下:#inclu蟠校盯昂de <stdio.h>#include <stdlib.h&爿讥旌护gt;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");}}