HJ35 蛇形矩阵 C++解法

Ichjns

关注

阅读 52

2022-03-11

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
例如,当输入5时,应该输出的三角形为:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11

请注意本题含有多组样例输入。

输入描述:

输入正整数N(N不大于100)
输出描述:

输出一个N行的蛇形矩阵。

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        vector<vector<int>>data(n,vector<int>(n,0));
        int num=1;//设定要赋值的数
        for(int t=0;t<n;t++){//蛇形趟数/
            int i=t,j=0;//坐标i,j
            while(i>=0){ //小于0说明到顶了,将进行下一趟蛇形
                data[i][j]=num;
                num++;
                i--;
                j++;//往右上方移动
            }
            //完成一趟蛇形后,t加1,i=t,开始新的一趟
        }
      
      //全部赋值完毕后,开始打印输出
        for(int i=0;i<n;i++){
            for(int j=0;j<n-i;j++){
                cout<<data[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    return 0;
}

精彩评论(0)

0 0 举报