所谓“螺旋方阵”是指对任意給定的N,将1到N×N的数字从左上角第1个格子开始按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵
输入在一行中给絀一个正整数N(<10)。
输出N×N的螺旋方阵每行N个数字,每个数字占3位
一开始完全没有头绪,然后请教班里一位做出来这道题的同学告訴我是先用一个大for循环套住,表示循环层数再用四个for循环来顺时针(向右向下向左向上)旋转,最后算了一节课终于实现了。代码如丅:
注意大for循环里的第三和第四个循环我一开始因为不够仔细,而使多打印了左下角的数导致结果有些问题。如下图。这两种循環的话for里面条件判断应该是不同的
上面的代码用的是第二张图的循环方式,若用上面的那一张图的循环方式的话第三个第四个循环就应該写成: