螺旋矩阵:
输入一个小于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语言,代码比较简单。
螺旋方阵
完成螺旋方阵的建立,输出。 完成螺旋方阵的建立,输出。
编程输出螺旋方阵. 螺旋方阵是指将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如4阶的螺旋方阵形式如下: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 要求:1)从键盘输入螺旋方阵的阶数
休闲之余,写了一下这个小小的螺旋方阵的小程序,和大家分享一下。
《信息奥赛课课通(C++)》p180-2 螺旋方阵2。逆时针螺旋
编程输出螺旋方阵: 螺旋方阵是指将从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
螺旋方阵存放在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阶螺旋方阵,键盘输入阶值。。。。。。
下面是一个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 ...
改程序可以实现奇数或偶数的螺旋方阵,已经调试通过。
CSDN 螺旋方阵,曾经写过的小函数,因为觉得挺有意思,就上传下,与智共勉
适合初学者的解法,还可以练习递归的调用
学习C语言所做的习题,要求画出一个螺旋方阵,题目挺简单的,思路正确就可以了。
实现NxN螺旋方阵(没有界面的application)
这是一个JAVA中关于二维数组的拔高题。
螺旋方阵.c