C语言程序设计:打印图形(半个倒金字塔)

/*-------------------------------------------------------
题目: 打印以下图案:

*********
  *******
    *****
      ***
        *
--------------------------------------------------------*/
#include
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"
  • 循环结束后,会打印一个最后的换行符。

你可能感兴趣的:(C语言程序设计每日一练,c语言,算法,数据结构)