编程打印如下规律的n*n方阵。输入n,按规律输出方阵。
方阵规律如下图:使左对角线和右对角线上的元素为0,它们上方的元素为1,左方的元素为2,下方元素为3,右方元素为4,下图是一个符合条件的5阶矩阵。
0 1 1 1 0
2 0 1 0 4
2 2 0 4 4
2 0 3 0 4
0 3 3 3 0
#include <bits/stdc++.h>
using namespace std;
int N;
int maze[110][110];
int main() {
scanf("%d", &N);
memset(maze, 0, sizeof(maze));
for(int i = 1; i <= N; i ++) {
for(int j = 1; j <= N; j ++) {
if(i != j && i + j != N + 1) {
if(i < j) {
if(i + j < N + 1)
maze[i][j] = 1;
else
maze[i][j] = 4;
} else {
if(i + j < N + 1)
maze[i][j] = 2;
else
maze[i][j] = 3;
}
}
}
}
for(int i = 1; i <= N; i ++) {
for(int j = 1; j <= N; j ++) {
if(j != N)
printf("%d ", maze[i][j]);
else
printf("%d\n", maze[i][j]);
}
}
return 0;
}