zoukankan      html  css  js  c++  java
  • PAT IO 螺旋方阵

    所谓“螺旋方阵”,是指对任意给定的N,将1到N*N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入NxN的方阵里。本题要求构造这样的螺旋方阵。

    输入格式:

    输入在一行中给出一个正整数N(<10)。

    输出格式:

    输出NxN的螺旋方阵。每行N个数字,每个数字占3位。

    输入样例:

    5
    

    输出样例:

    1  2  3  4  5
     16 17 18 19  6
     15 24 25 20  7
     14 23 22 21  8
     13 12 11 10  9

    实现:
    #include "stdafx.h"
    #define SIZE 10
    
    int main()
    {
    	int i,j=0;
    	int a[SIZE][SIZE] = {0};
    	int x=0,y=0,ax=0,ay=0,k=0;
    	int dx[4] = {0,1,0,-1};
    	int dy[4] = {1,0,-1,0};
    	int num = 0;
    
    	scanf_s("%d",&num);
    	for (i = 0; i < num * num; i++)
    	{	
    		a[x][y] = i+1;
    		ax= x+dx[k];
    		ay = y+dy[k];		
    		if (ax < 0 || ax == num || ay < 0 || ay == num || a[ax][ay] != 0)
    		{
    			k= (k+1)%4;
    			ax= x+dx[k];
    			ay = y+dy[k];
    
    		}
    
    		x=ax;
    		y=ay;
    	}
    
    	for (i = 0; i < num ; i++)
    	{
    		for (j = 0; j < num; j++)
    		{
    			printf("%5d",a[i][j]);
    		}
    		printf("\n");
    	}
    
    	return 0;
    }
    
  • 相关阅读:
    vue 添加对象的新属性的方法
    vue 简单的c3属性写法
    大数据分析技术生态圈一览
    网络
    Axis2 WebService客户端Axis2调用
    前端资源
    不错的数据库
    dubbo
    大数据相关
    This is very likely to create a memory leak 异常
  • 原文地址:https://www.cnblogs.com/haihai1203/p/3905681.html
Copyright © 2011-2022 走看看