螺旋矩阵-题解

描述

螺旋矩阵是指一个呈螺旋状的矩阵,如一个3*3个螺旋矩阵

每个数字占四位并且两个数字之间有一个空格。

构造方式如下:

输入描述

输入一个整数n(0<=n<=20)

输出描述

按要求输出对应的螺旋矩阵。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
int tmp[n+1][n+1], k;
k = 1;
for (int i = 1; i <= n / 2; i = i + 1){
for (int j = i; j <= n - i; j = j + 1){
tmp[i][j] = k;
k = k + 1;
}
for (int j = i; j <= n - i; j = j + 1){
tmp[j][n - i + 1] = k;
k = k + 1;
}
for (int j = n - i + 1; j >= i + 1; j = j - 1){
tmp[n - i + 1][j] = k;
k = k + 1;
}
for (int j = n - i + 1; j >= i + 1; j = j - 1){
tmp[j][i] = k;
k = k + 1;
}
}
if (n % 2 == 1){
int i = (n + 1) / 2;
tmp[i][i] = n * n;
}
for (int i = 1; i <= n; i = i + 1){
for (int j = 1; j <= n; j = j + 1) {
cout << setw(4) << tmp[i][j] << " ";
}
cout << endl;
}
}

螺旋矩阵-题解
https://chenxi-tijie.pages.dev/2025/07/螺旋矩阵-题解/
作者
chenxi
发布于
2025年7月5日
许可协议