题目描述
给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。
从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。
输入格式
输入一个正整数 n,含义如题所述。
输出格式
输出符合题目要求的蛇形矩阵。
输入输出样例
输入 #1
4
输出 #1
1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7
说明/提示
数据保证,1≤n≤9。
这道题的目标是输出一个n行n列的蛇形方阵,思路是把向上、向下、向左、向右的四种情况一一列举出来。步骤如下:
1、定义数据
2、输入数据
3、循环判断并构造蛇形方阵
4、循环输出蛇形方阵
总结一下:这道题的关键点就是把向上、向下、向左、向右的四种情况一一列举出来再去构造。
代码如下:
#include <bits/stdc++.h>
using namespace std;
//也可由直接写成num[26][26]
const int maxn=26;
//#define maxn 26 (与第四行意义相同)
int main()
{
//定义变量
int x,y,n,count=1;
//数组初始化为0
int num[maxn][maxn]={};
//输入n
cin >> n;
//确定第一个数的坐标
x=0; y=n-1;
//写入第一个数
num[x][y]=