我编写了一个在三角形的行中打印空格的函数,以及另一个在该行中打印数字的函数。我编译了代码,但由于某种原因,它没有提供所需的输出:
以下是我的功能:
void print_pascal_triangle(int n)
{
int i = 0;
while (i <= n)
{
print_space(i, n);
print_pascal_line(n);
i++;
printf("\n");
}
}
void print_pascal_line(int i)
{
int k = 0, num = 1;
printf("1");
while (k < i)
{
num = (num *(i-k))/(k+1);
printf(" %d", num);
k++;
}
}
void print_space(int i, int n)
{
int space=i;
while (space < n)
{
printf(" ");
space++;
}
}
这是我在n = 5时获得的输出:
答案 0 :(得分:3)
您需要致电print_pascal_line(i);
而不是print_pascal_line(n);