我应该编写的程序应该按以下方式打印三角形:
如果行数是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");
}
}
答案 0 :(得分:1)
好吧,如果您有n
行,则第一行应包含n-1
个空格和*
。 i
行(1&lt; i&lt; n)应该包含n-i
个空格,*
,2i-3
个空格和另一个*
,以及最后一行应包含2n-1
*
s。您可以使用循环轻松完成。要打印空格,请使用printf(" ");
,并记住在每行的末尾打印\n
。