2014-10-07 20 views
-2

我试图创建将打印打印1,2 1,3 2 1,在C

1 
2 1 
3 2 1 
4 3 2 1 

等,在C的函数,高达20余罐4 3 2 1侧金字塔让它打印

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"); 
} 

回答

3

您可以简单地恢复你的第二个循环从高数去数较低等一样:

int i, j; 
for(i = 1; i<=20; i++) { 
    for(j=i; j>0; j--) { 
    printf("%3d", j); 
    } 
    printf("\n"); 
} 

这将打印数量最多的开头和结尾一个。

1

当你做for(j=1; j<=i; j++)你在1开始j和计数,直到它达到i。你想做什么ois从i开始倒计时(--),直到达到1

0

尝试将您的第二个循环更改为for(j=i;j>=1;j--)。 它会打印 1 2 1 3 2 1 4 3 2 1 and so on... 我希望这是你所问..