import java.util.Scanner;
public class Snake {
/**
* @param 可以将每次循环看做一个画一个正方形,每次画完了正方形的边长减少2
* 即上下限各减少1
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();//输入矩阵行数
int dire;//当前方向
final int right = 0;
final int down = 1;
final int left = 2;
final int up = 3;
dire = right;//初始方向为向右
int maxn = num;//当前回字形上边界
int minn = 0;//当前回字形上边界
//maxm+maxn = num 上下边界和为num
int a[][] = new int[num][num];//构造的矩阵
int r = 0;//当前行号
int c = 0;//当前列号
int val = 1;//当前矩阵位置的值
while(val<=num*num){
switch(dire){
case right:
//当前列号小于上限
if(c<maxn){
a[r][c] = val;
val++;//值依次+1
c++;//列号递增
continue; //跳过该次循环
腾讯笔试题,蛇形矩阵的Java实现
最新推荐文章于 2021-06-21 04:15:40 发布