蓝桥杯 顺时针螺旋填入
来源:互联网 发布:淘宝手机端怎么做推广 编辑:程序博客网 时间:2024/04/30 19:51
从键盘输入一个整数(1~20)
则以该数字为矩阵的大小,把1,2,3„n*n 的数字按照顺时针螺旋的形式填入其中。例如: 输入数字2,则程序输出:
1 2
4 3
输入数字3,则程序输出:
1 2 3
8 9 4
7 6 5
输入数字4,则程序输出:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
/* * 顺时针螺旋式填入, * 即从左往右,从上往下,从右往左,从下往上 * 假设矩阵的长度为n,循环的次数应为n/2 */import java.util.*;public class Main{public static void print(int[][] array){for(int i=0;i<array.length;i++){for(int j=0;j<array.length;j++){System.out.printf("%4d", array[i][j]);}System.out.println();}}public static void main(String[] args){Scanner s=new Scanner(System.in);int n=s.nextInt();int[][] array=new int[n][n];int startIndex=0,endIndex=n,e=0,count=1;while(e<=n/2){for(int i=startIndex;i<endIndex;i++){//给该轮的上层赋值,行数由变量e决定,依次为第0,1,2,...,n/2行array[e][i]=count++;}for(int i=startIndex+1;i<endIndex;i++){//给该轮的右侧赋值,列数由n-1-e决定,依次为第n-1,n-2,n/2列//同时,注意不要覆盖已经赋值的位置array[i][n-1-e]=count++;}for(int i=endIndex-2;i>=startIndex;i--){//给该轮的下侧赋值,行数由n-1-e决定,依次为第n-1,n-2,n/2行array[n-1-e][i]=count++;}for(int i=endIndex-2;i>=startIndex+1;i--){//给该轮的左侧赋值,列数由e决定,依次为第0,1,2,n/2列array[i][e]=count++;}//由于一轮赋值后围一圈,所以,startIndex和endIndex都需要变化startIndex++;endIndex--;//起始的行数e也需要发生变化e++;}print(array);}}
0 0
- 蓝桥杯 顺时针螺旋填入
- 顺时针螺旋填入数字
- 随笔:把1,2,3…n*n 的数字按照顺时针螺旋的形式填入数字矩阵
- 矩阵顺时针螺旋赋值
- 矩阵顺时针螺旋赋值
- 矩阵顺时针螺旋赋值
- 顺时针/螺旋打印数组
- 顺时针螺旋打印数字
- 顺时针螺旋矩阵
- 顺时针螺旋递增矩阵
- 顺时针螺旋填数字
- 螺旋矩阵顺时针打印
- 以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中
- 顺时针螺旋递减等差数列矩阵
- 顺时针螺旋递增等差数列矩阵
- 从外层顺时针螺旋矩阵
- 顺时针螺旋打印二维数组
- 从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。
- JQuery中$.ajax()方法参数详解
- hdoj-1214-圆桌会议
- C++文件读写总结
- ACM--steps--dyx--4.2.5--Open the lock(多向广搜)
- sql连接查询问题总结
- 蓝桥杯 顺时针螺旋填入
- day016 Label and Button
- 唇诮私胖仑掠纪部核胖卸蒂胖肚籽
- 2014 UESTC Training for Data Structures—— E - 休生伤杜景死惊开
- 汤艘谛懦痈抖痰晕繁皆钩亮堤鼐有
- Bootstrap panel
- 飞牟帘星收殖星烈掠叵坟关谘斯啃
- jquery获取指定属性为指定值的对象
- 2015-04-08---cocos2dx一个都不能死(含源码)