蛇形填数 模拟

来源:互联网 发布:矩阵的奇异值是什么 编辑:程序博客网 时间:2024/06/05 06:56

题目描述:

在n*n方阵里填入1,2,...,n*n,要求填成蛇形。例如n=4时方阵为:

10 11 12 1

9 16 13 2

8 15 14 3

7 6 5 4

输入:

n

输出:

方阵

left和right 代表着n的变化以及每次从最左侧开始的循环变化。

import java.util.*;public class Main{public static void main(String[] arg){Scanner in = new Scanner(System.in);int n = in.nextInt();   //传入方阵围数//int i=1;int[][] a = new int[n+1][n+1];    int right = n;int left =1;int h=1;while(h<=n*n){for(int j=left;j<=right;j++){a[j][right]=h++;}for(int j=right-1;j>=left;j--){a[right][j]=h++;}for(int j=right-1;j>=left;j--){a[j][left]=h++;//System.out.println(a[j][left]);}for(int j=left+1;j<=right-1;j++){a[left][j]=h++;}right--;left++;}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){System.out.print(a[i][j]+" ");}System.out.println("");}//System.out.println();}}


0 0