zoukankan      html  css  js  c++  java
  • 打印螺旋矩阵

    /*    打印螺旋矩阵
    *   所谓螺旋矩阵,即:
    *    比如 N = 3,打印:
    *    1 2 3
    *    8 9 4
    *    7 6 5
    *
    *    N = 4,打印:
    *    1  2  3  4
    *    12 13 14 5
    *    11 16 15 6
    *    10 9  8  7
    *
    */
    
    import java.util.*;
    
    public class lianxi14{
        public static void main(String[] args){
            int N = 0;
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入矩阵大小N的值:");
            N = sc.nextInt();
            
            int[][] Matrix = new int[N][N];
            setMatrix(Matrix, 0, 0, 1, N);
            printMatrix(Matrix);    
        }
        
        /**************************************************************
        * 函数功能:螺旋矩阵赋值
        * 参数说明:int[][] A:二维矩阵        int x:矩阵中行坐标
        *            int y: 矩阵中列坐标        int start:初始值
        *            int n: 矩阵大小
        **************************************************************/
        static void setMatrix(int[][] A, int x, int y, int start, int n){
            int i = 0;
            if(n <= 0)
                return;
            if(n == 1){
                A[x][y] = start;
                return;
            }
            //up
            for(i = y; i < y + n - 1; i++)
                A[x][i] = start++;
            //right
            for(i = x; i < x + n - 1; i++)
                A[i][y+n-1] = start++;
            //down
            for(i = y + n - 1; i > y; i--)
                A[x+n-1][i] = start++;
            //left
            for(i = x + n - 1; i > x; i--)
                A[i][y] = start++;
            setMatrix(A, x+1, y+1, start, n-2);
        }
        
        /*
        *    函数功能:打印矩阵
        */
        static void printMatrix(int[][] A){
            int len = A.length;
            for(int i = 0; i < len; i++){
                for(int j = 0; j < len; j++){
                    System.out.print(A[i][j]+"\t");
                }
                System.out.println("");
            }
        }
    }
  • 相关阅读:
    GB/T 38635.1-2020 信息安全技术 SM9标识密码算法 第1部分:总则
    信息安全行业国家标准汇总,信息安全行业从业人员必看
    贪吃蛇游戏(printf输出C语言版本)
    C 实战练习题目57
    C 实战练习题目56
    C 实战练习题目55
    C 实战练习题目54
    C 实战练习题目53
    C 实战练习题目52
    C 实战练习题目51
  • 原文地址:https://www.cnblogs.com/wannianma/p/2979781.html
Copyright © 2011-2022 走看看