1 /* 2 打印图案 考察for循环的嵌套*/
2 #include<stdio.h>
3 int main ()
4 { // 假设竖杠为输出窗口的左边缘
5 int i,j,k; //i 控制行数; j控制空格数; k控制*的数量 //1 | * 上三角 第1行 *前有3个空格,1个*
6 for(i=1;i<=4;i++)//i控制行数,共4行,i从1变化到4 /2 | *** 第2行 *前有2个空格,3个*
7 { //3 | ***** 第3行 *前有1个空格,5个*
8 for(j=1;j<=4-i;j++) //j控制空格数,找规律 空格数(j)=4-行数(i) //4 |******* 第4行 *前有0个空格,7个*
9 { //1 | ***** 下三角 第1行 *前有1个空格,5个*
10 printf(" "); //2 | *** 第2行 *前有2个空格,3个*
11 } //3 | * 第3行 *前有3个空格,1个*
12
13 for(k=1;k<=2*i-1;k++) //k控制*的数量 可找到规律 *的数量(K)=2*行数(i)-1 // 要找规律!
14 {
15 printf("*");
16 }
17 printf("\n"); //结束一行后,要换行。开始下一行
18 }
19 //打印下三角 i,j,k重新赋值与上边的无关 (也可以重新定义3个变量)
20 for(i=1;i<=3;i++) //行数
21 {
22 for(j=1;j<=i;j++) //规律:空格数=行数
23 {
24 printf(" ");
25 }
26 for(k=1; k<=2*(4-i)-1; k++) // *的数量=2*(4-行数)-1
27 {
28 printf("*");
29 }
30
31 printf("\n");
32 }
33
34 return 0;
35
36 }