zoukankan      html  css  js  c++  java
  • 蛇形矩阵

    完成此类蛇形数组

    输入一个数,会输出一个蛇形数组,是n*n型矩阵

    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

    分析:根据这种矩阵的形式,要用二维数组进行存储,要把二维数组从外到内一层一层剥开,按照上,右,下,左的顺序走

       同时,注意临界值条件,尤其是拐角处别重叠覆盖

    import java.util.Scanner;
    
    public class SnakeMatrix {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt(); //首先输入矩阵的维数
    		int a[][] = new int[n][n]; //存储所有元素的二维数组 
    		int count = 1; //计数器,每走一步加一
    
     //把二维数组从外到内一层一层剥开,按照上、右、下、左的顺序走
    // 注意临界值条件,尤其是拐角别重叠覆盖
     
    		for (int i = 0; i < n/2+1; i++) {
    			//up
    			for (int j = i; j < n-i; j++){
    				a[i][j]= count++;
    			}
    			//right
    			for (int j = i+1; j < n-i; j++){
    				a[j][n-i-1]= count++;
    			}
    			//down
    			for (int j = n-i-2; j >=i; j--){
    				a[n-i-1][j]= count++;
    			}
    			//left
    			for (int j = n-i-2; j >i; j--){
    				a[j][i]= count++;
    			}
    		}
    		for (int i = 0; i < n; i++) {
    			for (int j = 0; j < n; j++) {
    				System.out.print(a[i][j]+"	");//将上面的for循环产生的数,进行遍历输出
    				if(j==n-1)//拐角处
    				System.out.println();
    			}
    		}
    	}
    
    }
    

      打印出来的效果:

      

  • 相关阅读:
    二、Spring Cloud 之旅 -- Eureka 微服务的发布与调用
    一、Spring Cloud项目搭建
    intellij 破解
    Koa.js 2.x 学习笔记
    MongoDB 学习笔记
    在github上部署静态网页
    vue绑定值与字符串拼接两种写法
    Vue的生命周期及其相应的三个阶段解读
    element-ui 报错 Invalid prop: custom validator check failed for prop "index"
    StyleLint 使用指南
  • 原文地址:https://www.cnblogs.com/GumpYan/p/5832513.html
Copyright © 2011-2022 走看看