描述:
对于一个N*N的数组,输入一个小于 N*N的数n,螺旋打印该数组。例如:一个5*5的数组,输入25,打印如下图形:
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
实现思路:
定义四个方向:
上边->x不变,y+1;
右边->x+1,y不变;
下边->x不变,y-1;
左边->x-1,y不变。
源码实现如下:
#define N 5
void print_spiral_array()
{
//控制方向
int dd = 0;
int dir[4][2]={
{0,1},{1,0},{0,-1},{-1,0}};
//数组坐标
int x = 0,y = 0;
int xx