我试图找出如何反转我使用给定数字创建的三角形

时间:2017-03-07 15:54:38

标签: c++

程序应该要求用户输入一个数字,并使用1和给定数字之间的数字形成一个三角形。我提出了一个代码:

cout << "Enter a number: ";
cin >> rows;
for (int y = rows; y > 0; --y)
    {
       for (int x = 1; x <= y; x++)
        {
            cout << x << " ";
        }
        cout << endl;
    }

我会得到:

输入一个数字:(用户输入数字,简称7)

1 2 3 4 5 6 7
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2 
1

但我似乎无法理解:

7 6 5 4 3 2 1
* 6 5 4 3 2 1
* * 5 4 3 2 1
* * * 4 3 2 1
* * * * 3 2 1
* * * * * 2 1
* * * * * * 1

没有完全错误。任何可能的提示?

2 个答案:

答案 0 :(得分:0)

    int rows;
    cout << "Enter a number: ";
    cin >> rows;
    for (int y = rows; y > 0; --y)
    {
        for (int x = rows; x > 0; x--)
        {
            if (x <= y) cout << x << " ";
            else cout << "* ";
        }
        cout << endl;
    }

答案 1 :(得分:0)

你可以这样做:

cout << "Enter a number: ";
cin >> rows;
for (int y = rows; y > 0; --y)
{
    for(int h = rows-y; h>0; --h){
        cout<<"*";

    }
    for (int x = y; x >= 1; --x)
    {

        cout << x << " ";
    }
    cout << endl;
}