打印星号的“三角形”

时间:2012-02-11 23:16:46

标签: c

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

如果行数是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");
   }
}

1 个答案:

答案 0 :(得分:1)

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