我编写了一个函数,用于打印三角形的一行中的空格,以及另一个函数,用于打印该行中的数字。我已经编译了代码,但由于某种原因它没有给出想要的输出:
这是我的功能:
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 时得到的输出:
最佳答案
您需要调用 print_pascal_line(i);
而不是 print_pascal_line(n);
关于c - 如何在不使用阶乘的情况下打印帕斯卡三角形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41592205/