[18/11/16]打印上三角和下三角

 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 }

猜你喜欢

转载自www.cnblogs.com/ID-qingxin/p/9966994.html