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();
    			}
    		}
    	}
    
    }
    

      打印出来的效果:

      

  • 相关阅读:
    Android Studio连接真机
    day 4 __all__ 包 __init__.py
    day1 创建X00001文件1K
    day 3 模块
    day 2 异常传递 ,抛出
    day 1 异常基本功能
    day 7 __new___
    day 6 汽车4S店铺
    day 5 多态 类 静态
    day 4 继承
  • 原文地址:https://www.cnblogs.com/GumpYan/p/5832513.html
Copyright © 2011-2022 走看看