C++算法 N阶递减三角形

给定一个整数 n。输出一个 n 行数字,n 行数字中的第 i 行包含 n−i+1 个由空格隔开的整数,其中第一个数为 n−i+1,之后每一个数都比前一个数小 1(1≤i≤n)。

提示:请注意每行的末尾不要有多余的空格。

输入格式

你的程序将会接受一个整数,表示 nn(0<n≤30)。

输出格式

  • 输出一个 n 行数字
  • n 行数字中的第 i 行包含 n−i+1 个由空格隔开的整数(1≤i≤n)
  • 每行第一个数为 n−i+1,之后每一个数都比前一个数小 1(1≤i≤n)
  • 如果对输出格式理解有一定困难,请参考样例输出

习题目的

  • 练习使用循环
  • 练习循环嵌套
  • 练习使用 if 控制行尾是否输出空格

样例输入1

2

样例输出1

2 1
1

样例输入2

4

样例输出2

4 3 2 1
3 2 1
2 1
1

代码如下:

#include <iostream>

using std::cin;
using std::cout;
using std::endl;

int main() {
    int n;
    cin>>n;
    
    for(int i = n; i > 0; i--){
        for(int j = i; j > 0;j--){
            cout<<j;
            if(j > 1 ){
                cout<<" ";
            }
        }
        if(i > 1){
            cout<<endl;
        }
    }
    return 0;
}

 

 

Guess you like

Origin blog.csdn.net/qq_34970171/article/details/115652208