如何使用嵌套for循环生成倒计时?

时间:2016-06-04 04:02:10

标签: c++ for-loop nested countdown

我希望用户输入一个整数,然后我希望我的程序能够使用嵌套的For循环语句从该数字开始倒数到零。例如:
用户输入20
20个
19 18 17 16 15
14 13 12 11
10 9 8 7 6
5 4 3 2 1 0
我还希望数字以半金字塔结构打印出来,类似于上面显示的例子。这是我尝试解决这个问题。请注意,我使用了一个变量并将其设置为20,只是为了测试程序。如果您也可以解释我的错误并解释如何制作不同的图案,如完整的金字塔或倒金字塔,那将非常感激。

#include <stdio.h>
int main()
{
    int sum, i, j, number=20;

    for (i=1;i<=20;++i)
    {
        sum = number-1 ;
        for (j=1;j<=i;j++)
        {
            printf("%d ",sum);
            --number;
        }

        printf("\n");
    }
    return 0; 
}

2 个答案:

答案 0 :(得分:1)

这是针对示例中给出的半金字塔

#include <iostream>

int main()
{
    int sum = 20;
    for(int i = 1; sum != -1;i++) {
        for(int j = 1; j <= i; j++) {
            std::cout << sum-- <<' ';
            if (sum == -1)  break;
        }
        std::cout << std::endl;
    }
}

答案 1 :(得分:0)

#include <stdio.h>
int main()
{
    int sum, i, j, number=20;

    for (i=1;i<=20;++i)
    {
       **sum = number** ;

    for (j=1;j<=i;j++)
    {
        printf("%d ",sum);
        --number;
    }

    printf("\n");
}
return 0; 

}