打印星号的“三角形”

我应该编写的程序应该以下列方式打印三角形:

如果行数是2:

* *** 

如果行数是3:

  * * * ***** 

但是,我所做的以下代码为最后一行打印了正确数量的星号,但我不确定如何打印空格和换行符。 我打印底层星的代码如下:

  void tri_func(num) { int row; int c=1; int j; for ( row = 1 ; row <= num ; row++ ) { for (j=1; j < row-2; j++) printf(" "); for ( c = 1 ; c <= (2*row )- 1-j ; c++ ) { printf("*"); } printf("\n"); } } 

好吧,如果你有n行,第一行应该包含n-1空格和一个* 。 第i行(1 ni空格,a *2i-3空格和另一个* ,最后一行应包含2n-1 * s。 您可以使用循环轻松完成。 要打印空格,请使用printf(" "); ,并记得在每一行的末尾打印\n