我正在尝试创建一个可以打印的功能
1
2 1
3 2 1
4 3 2 1
等,在C中,最多20个。我可以打印
1
1 2
1 2 3
1 2 3 4
好的。
救命?
这就是我到目前为止所拥有的。
int i, j;
for(i = 1; i<=20; i++) {
for(j=1; j<=i; j++) {
printf("%3d", j);
}
printf("\n");
}
答案 0 :(得分:3)
您可以简单地将第二个循环转换为从较高的数字转到较低的数字,如下所示:
int i, j;
for(i = 1; i<=20; i++) {
for(j=i; j>0; j--) {
printf("%3d", j);
}
printf("\n");
}
这将从打印最大数字开始,以一个结束。
答案 1 :(得分:1)
当您执行for(j=1; j<=i; j++)
时,您将在1
开始j并计算到达i
。您要执行的操作可以从i
开始,倒计时(--
)直到达到1
。
答案 2 :(得分:0)
尝试将您的第二个循环更改为for(j=i;j>=1;j--)
。
它会打印出来
1
2 1
3 2 1
4 3 2 1 and so on...
我希望这就是你问的......