层叠矩阵例如输入5,输出:
1 2 5 10 17
4 3 6 11 18
9 8 7 12 19
16 15 14 13 20
25 24 23 22 21
#include<iostream>
#include<iomanip>
#define N 100
using namespace std;
int main(){
int m,i,j,x,y,n,z[N][N];
cin>>m;
z[1][1]=1;
n=1;
for(i=2;i<=m;i++){
x=1;y=i;n++;z[x][y]=n; //每一层起始元素赋值
while(x<i){ //每一层纵元素赋值
x++;
n++;
z[x][y]=n;
}
while(y>1){ //每一层横元素赋值
y--;
n++;
z[x][y]=n;
}
}
for(x=1;x<=m;x++){
for(y=1;y<=m;y++){
cout<<setw(4)<<z[x][y];
}
cout<<endl;
}
return 0;
}