【发布时间】:2020-10-26 22:21:43
【问题描述】:
我必须制作一个按此顺序打印的弗洛伊德三角形:
7 8 9 10
4 5 6
2 3
1
但目前我的代码打印如下:
1
2 3
4 5 6
7 8 9 10
代码:
#include <stdio.h>
int main()
{
int n, i, c, a = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (c = 1; c <= i; c++)
{
printf("%d ", a);
a++;
}
printf("\n");
}
return 0;
}
有人可以帮我吗?
【问题讨论】:
-
您可以使用后序递归函数来做到这一点。或者您可以使用基本数学来确定要在每一行上写入的第一个值。有一个非常常见的公式用于计算从
1到x的所有数字的总和(这将为您提供连续的最后一个值)。