`

螺旋方阵

阅读更多

螺旋矩阵:

输入一个小于10的数n

当n=4时:                                         当n=5时:

 16   6   7   8                                          25 10 11 12 13 
 15   1   2   8                                          24   9   2   3 14 
 14   4   3   9                                          23   8   1   4 15 
 13 12 11 10                                          22    7  6   5 16 
                                                              21 20 19 18 17 
 
Java:

 

import java.io.IOException;
import java.util.Scanner;

/**
 * 
 * @author tanlvxu
 *
 */
public class Demo {

	
	public static void main(String[] args) {
	   
		   Scanner sc = new Scanner(System.in);
		   int b[][] = new int[10][10];
		   int a = sc.nextInt() ;
		   int sum = a*a ;
		   int m = 0;
		   int i,j;
		
		while(sum>0){
			//向下
			j = m ;
			for(i=m;i<=a-m-1;i++){
			   b[i][j] =  sum;
			   sum-- ;
			}
			//向右
			i=a-m-1 ;
			sum+=1 ;
			for(j=m ;j<=a-m-1;j++){
				b[i][j] = sum ;
				sum-- ;
			}
			//向上
			j=a-m-1 ;
			sum+=1 ;
			for(i=a-m-1;i>=m;i--){
				b[i][j] = sum ;
				sum-- ;
			}
			//向左
			i=m ;
			sum+=1 ;
			for(j=a-m-1;j>m;j--){
				b[i][j] = sum ;
				sum-- ;
			}
			 
			 m++ ;
			
			}
		for(i=0;i<a;i++){
			for(j=0;j<a;j++){
				System.out.print(b[i][j]+" ") ;
			}
			System.out.println();
		}
		
		}

	
}

 同理:

输入一个小于10的数n

 当n=4时:                                         当n=5时:

  7  8   9  10                                           13 14 15 16 17 
  6  1   2  11                                           12   3   4   5 18 
  5  4   3  12                                           11   2   1   6 19

16 15  14 13                                          10   9   8   7 20 
                                                              25 24 23 22 21 

 

Java :

  

import java.util.Scanner;

public class Demo2 {

	/**
	 * @param args
	 */

	public static void main(String[] args) {
	   Scanner sc = new Scanner(System.in);
	   int b[][] = new int[100][100];
	   int a = sc.nextInt() ;
	   int sum =a*a ;
	 
	   int n = 0 ;
	   int i,j ;
	
	while(sum>0){
		i=a-n-1 ;
		for(j=n;j<=a-1-n;j++){
			b[i][j] = sum ;
			sum-- ;
		}
		j=a-1-n ;
		sum+=1 ;
		for(i=a-1-n;i>=n;i--){
			b[i][j] = sum ;
			sum-- ;
		}
		i=n ;
		sum += 1 ;
		for(j=a-1-n;j>=n;j--){
			b[i][j] = sum ;
			sum -- ;
			}
		j=n ;
		sum+= 1 ;
		for(i=n;i<a-1-n;i++){
			b[i][j]= sum ;
			sum -- ;
		}
		 n++ ;
		
		}
		for(i=0;i<a;i++){
		for(j=0;j<a;j++){
			System.out.print(b[i][j]+" ") ;
		}
		System.out.println();
	}

}
}

 

分享到:
评论

相关推荐

    螺旋方阵1111111.txt

    ### 螺旋方阵知识点解析 #### 一、螺旋方阵定义与概念 螺旋方阵是一种特殊的矩阵结构,其元素按照从外向内、顺时针或逆时针方向呈螺旋状排列。这种排列方式使得矩阵中的数字呈现出一种规律性的美感。 #### 二、...

    c语言 完成螺旋方阵的建立,输出。

    螺旋方阵是一种特殊的矩阵结构,它的元素按照从左上角开始,顺时针或逆时针依次填充。在C语言中实现螺旋方阵的建立和输出,需要掌握基本的数组操作、循环控制以及条件判断。下面我们将详细探讨如何用C语言来实现这个...

    螺旋方阵(C++实现)

    一个简单的C++螺旋方阵的小程序实现,同样可适用于c语言,代码比较简单。

    基于c语言编写螺旋方阵

    ### 基于C语言编写的螺旋方阵 #### 知识点概述 本文将详细介绍一个使用C语言编写的程序,该程序的功能是生成一个螺旋形的方阵。所谓的螺旋方阵是指一个由数字组成的二维数组,这些数字按特定顺序(通常是从外向内...

    螺旋方阵 的解答

    螺旋方阵是一种特殊的矩阵结构,它的元素按照螺旋式的路径填充。在编程中,构建螺旋方阵通常用于数据存储、算法实现或逻辑思维训练。本文将深入探讨螺旋方阵的定义、构建方法以及如何通过编程来实现它。 首先,螺旋...

    java输出螺旋方阵

    编程输出螺旋方阵. 螺旋方阵是指将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如4阶的螺旋方阵形式如下: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 要求:1)从键盘输入螺旋方阵的阶数

    C语言编程实现螺旋方阵

    螺旋方阵是一种特殊的矩阵,它的元素按照从左上角开始,先向右,再向下,然后向左,最后向上这样的顺序填充。这种排列方式形成了一种螺旋状的路径。在C语言中实现螺旋方阵,我们需要理解数组的操作、循环控制以及...

    c++螺旋方阵2

    《信息奥赛课课通(C++)》p180-2 螺旋方阵2。逆时针螺旋

    Java:编程实现螺旋方阵

    编程输出螺旋方阵: 螺旋方阵是指将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如4阶的螺旋方阵形式如下: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 要求:1)从键盘输入螺旋方阵的阶数 2)代码有...

    编程输出螺旋方阵.

    编程输出螺旋方阵. 螺旋方阵是指将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如4阶的螺旋方阵形式如下: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7

    螺旋方阵.cpp

    螺旋方阵存放在n*n的二维数组中并将其打印输出,要求n由程序读入,数字螺旋方阵由程序自动生成(而非人为的初始化或逐个输入)。 例如: 1 16 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 20 21 10 5 6 7 8 9

    Java实现n阶螺旋方阵

    在Java中实现n阶螺旋方阵是一项常见的编程任务,这有助于理解和掌握数组的操作以及循环控制结构的使用。下面我们将深入探讨如何用Java来实现这个功能。 首先,我们需要了解螺旋矩阵的基本概念。假设我们有一个n阶的...

    使用C++实现的螺旋方阵

    螺旋方阵是一种特殊的矩阵排列方式,它以螺旋形式填充数字,通常从1开始,沿着顺时针方向填充,直到填满整个矩阵。在C++编程中实现螺旋方阵,我们需要理解数组的操作、循环控制以及逻辑判断。下面我们将深入探讨如何...

    螺旋方阵算法

    螺旋方阵 将螺旋方阵存放到N×N的二维数组中并把它打印输出。要求程序自动生成下图所示螺旋方阵。用 #defined定义常量N,要求对N进行更改也能达到相同的效果。 1 16 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 20 ...

    JAVA螺旋方阵

    ### JAVA螺旋方阵实现原理与代码解析 螺旋方阵是一种数据结构,在计算机科学中,它以螺旋形式填充一个正方形矩阵。本篇文章将深入解析如何使用Java编程语言来实现一个N x N的螺旋方阵,并对给定代码进行详细解读。 ...

    螺旋方阵(函数递归的调用)

    适合初学者的解法,还可以练习递归的调用

    C++螺旋矩阵示例,螺旋方阵

    螺旋方阵

    Python螺旋方阵代码示例

    螺旋方阵

    python数字螺旋方阵.docx

    螺旋方阵

    C语言螺旋方阵代码示例

    螺旋方阵是一种特殊的矩阵,它以一种特定的方式填充数字,使得矩阵的每个元素都沿着主对角线螺旋。具体来说,螺旋方阵的填充规则是从左上角开始,沿主对角线方向自左向右、自上而下填充数字。当填充到矩阵边缘时,会...

Global site tag (gtag.js) - Google Analytics