Advertisement

蛇形方阵

阅读量:

题目描述
提供一个不超过 9 的正整数 nn,生成一个 n×n 的蛇形矩阵。

从左上角开始填入数字 1,按照顺时针方向依次填充后续数值,如示例所示。需要注意的是,每个数字均占据 3 个字符的位置,不足部分需用空格进行补充。
示例:
输入说明:
n(int内)
输出说明:
蛇形矩阵
输入输出示例
输入 4
输出
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

复制代码
    #include<bits/stdc++.h>
    using namespace std;
    int a,b[1000][1000],x=1,y;
    int main()
    {
    	cin>>a;
    	y=a;
    	b[x][y]=1;
    	for(int i=1;i<a*a;)
    	{
    		while(b[x+1][y]==0&&x<a)
    			b[++x][y]=++i;
    		while(b[x][y-1]==0&&y>1)
    			b[x][--y]=++i;
    		while(b[x-1][y]==0&&x>1)
    			b[--x][y]=++i;
    		while(b[x][y+1]==0&&y<a)

全部评论 (0)

还没有任何评论哟~