java编程题1) 显示螺旋方阵.螺旋方阵将1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 11:35:21
java编程题1) 显示螺旋方阵.螺旋方阵将1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列.

java编程题1) 显示螺旋方阵.螺旋方阵将1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列.
java编程题1) 显示螺旋方阵.螺旋方阵将1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列.

java编程题1) 显示螺旋方阵.螺旋方阵将1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列.
public class Cat {
/**
* @param args
*/
public static void main(String[] args) {
int number = 5;
int[][] arys = printCircle(number);
for (int i = 0; i < number; i++) {
for (int j = 0; j < number; j++) {
System.out.print(arys[i][j] + "\t");
}
System.out.println();
}
}
// 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
private static int[][] printCircle(int number) {
int[][] ary = new int[number][number];
int rightLen;
int downLen;
int leftLen;
int upLen;
int rightRow = 0;
int rightCol = 0;
int leftRow = number - 1;
int leftCol = number - 1;
int downRow = 1;
int downCol = number - 1;
int upRow = number - 2;
int upCol = 0;
int digit = 1;
while(number > 0){
rightLen = number;
downLen = number - 1;
leftLen = number - 1;
upLen = number - 2;
//Step 1:print to right
for(int i = 0,temp = rightCol; i < rightLen; i++){
ary[rightRow][temp++] = digit++;
}
//Step 2:print to down
for(int j = 0,temp = downRow; j < downLen; j++){
ary[temp++][downCol] = digit++;
}
//move left
for(int m = 0,temp = leftCol - 1; m < leftLen; m++){
ary[leftRow][temp--] = digit++;
}
//move up
for(int n = 0,temp = upRow; n < upLen; n++){
ary[temp--][upCol] = digit++;
}
number = number - 2;
//increas/decrease the row and column
rightRow++;
rightCol++;
downRow++;
downCol--;
leftRow--;
leftCol--;
upRow--;
upCol++;
}
return ary;
}
}
-----------------for 8 --------------
1 2 3 4 5 6 7 8
28 29 30 31 32 33 34 9
27 48 49 50 51 52 35 10
26 47 60 61 62 53 36 11
25 46 59 64 63 54 37 12
24 45 58 57 56 55 38 13
23 44 43 42 41 40 39 14
22 21 20 19 18 17 16 15

java编程题1) 显示螺旋方阵.螺旋方阵将1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列. java程序问题?下面是一个 5*5 的螺旋方阵(顺时针方向旋转)编程输出 10*10(n 求解答C语言编程题,尽量给出详细解答过程因为我毫无头绪下面是一个5接的螺旋方阵,试编程打印出此形式的n(n 程序设计:螺旋方阵!建立如图所示的9*9阶的顺时针螺旋方阵设计要求:要求由程序自动生成螺旋方阵,用数组来实现此题 1 2 3 4 5 6 7 8 9 32 33 34 35 36 37 38 39 10 31 56 57 58 59 60 61 40 11 30 55 72 73 74 75 62 螺旋方阵(注:编程题库)Description输出n圈的螺旋方阵.Input只有一行且只有一个正整数:n ( 1 < n < 10 )Output从左上角开始,每个数据占用4个字符位置,按顺时针方向输出Sample Input3Sample Output1 2 3 4 java编程题求解:使用for语句打印显示下列数字:1 121 12321 1234321 数孔铣螺旋铣外圆宏程序的螺旋铣怎样编程,里面的符号怎样表示. 一道螺旋矩阵的C语言题!请打印出螺旋方阵.如4*4的矩阵效果是:1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 矩阵的维度n,也就是矩阵的边长,如上例中n=4..输出结果为一个4*4的矩阵.n的范围小于100. 一个关于螺旋方阵的问题以下是一个5 x 5阶的螺旋方阵,设计一个算法输出该形式的n x n(n 求java编程题:计算1到100累加的和java编程求1到100相加之和 free pascal 打印一个n*n的数字螺旋方阵.打印一个n*n的数字螺旋方阵.这个数字方阵的特点是:以左上角1开始向下,数字以外圈向里按自然数顺序转圈递增,一直到中心位置的n2为止.例如n =3:1 8 72 9 用c语言如何设计螺旋方阵设计成1 2 3 4 12 13 14 511 16 15 610 9 8 7 人体的DNA螺旋是左手螺旋还是右手螺旋 左手螺旋定则 为什么叫螺旋 咋螺旋了?. 螺旋测微器如何测量?如题:如何用螺旋测微器测量?如何读数? 粗准焦螺旋和细准焦螺旋的作用 螺旋角和螺旋升角有区别吗? 螺旋分级机价格螺旋分级机