【问题描述】蛇形矩阵是由 1 开始的自然数依次排列成的一个矩阵上三角形
【输入形式】 正整数 N表示层数,N 不大于 100
【输出形式】输出一个 N 行的蛇形矩阵,矩阵三角中同一行的数字用一个空格分开,行尾不要多余的空格。
【样例输入】
5
【样例输出】
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
代码如下
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int x=1,d1=2,d2=1;
for(int i=0;i<n;i++)
{ int temp=x;
int demp=d1;
for(int j=0;j<n-i;j++)
{
if(i==0&&j==0){cout<<x<<" ";continue;}
if(j==0)
{
cout<<x<<" ";
continue;
}
cout<<x+d1;
if(j!=n-i-1)cout<<" ";
x=x+d1;
d1++;
if(j==n-i-1)
{ cout<<endl;
x=temp+d2;
d1=demp+1;
d2++;
}
}
}
return 0;
}