`

螺旋方阵

阅读更多

螺旋矩阵:

输入一个小于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();
	}

}
}

 

分享到:
评论

相关推荐

    螺旋方阵(C++实现)

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

    螺旋方阵1111111.txt

    螺旋方阵

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

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

    java输出螺旋方阵

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

    使用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阶螺旋方阵,键盘输入阶值。。。。。。

    C++课程设计,5阶螺旋方阵

    下面是一个5阶的螺旋方阵。编写程序打印此形式的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

    螺旋方阵算法

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

    C语言编程实现螺旋方阵

    改程序可以实现奇数或偶数的螺旋方阵,已经调试通过。

    螺旋方阵 的解答

    CSDN 螺旋方阵,曾经写过的小函数,因为觉得挺有意思,就上传下,与智共勉

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

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

    螺旋方阵C语言

    学习C语言所做的习题,要求画出一个螺旋方阵,题目挺简单的,思路正确就可以了。

    JAVA螺旋方阵

    实现NxN螺旋方阵(没有界面的application)

    用二维数组打印螺旋方阵 JAVA入门之数组

    这是一个JAVA中关于二维数组的拔高题。

    螺旋方阵.c

    螺旋方阵.c

Global site tag (gtag.js) - Google Analytics