/*-------------------------------------------------------
题目: 打印以下图案:
*********
*******
*****
***
*
--------------------------------------------------------*/
#include<stdio.h>
void main()
{
int i,j,k;
for( i=0 ; i<5; i++ ) // 外层循环控制行数,总共5行
{
printf("\n"); // 打印换行符以换行
/**********Program**********/
for(j=0;j<2*i;j++)
printf(" "); // 打印空格,空格数量为2*i
for(k=0;k<9-2*i;k++)
printf("*"); // 打印星号,星号数量为9 - 2*i
/********** End **********/
}
printf("\n");// 打印最后一个换行符
}
i
控制行数,从 0 开始,每次循环递增 1,直到 5。j
控制空格数目,由于每一行空格数是前一行的两倍,所以有公式 2 * i
控制空格数量。k
控制星号数目,由于每一行星号数目是总数9减去空格的数量,所以有公式 9 - 2 * i
控制星号数量。- 在每一行的循环结束后,会打印一个换行符
"\n"
。 - 循环结束后,会打印一个最后的换行符。