黑马程序员——今天在黑马论坛看到有人问打印螺旋矩阵的题目
来源:互联网 发布:淘宝担保交易怎么弄 编辑:程序博客网 时间:2024/05/02 00:02
------- android培训、java培训、期待与您交流! ----------
题目如下:
(拔高选做题,如果你把之前所有的知识都掌握了,可以思考一下这道题,本题不要求必须完成)
输出 n=5 的螺旋方阵
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
我看到网上有C语言的解法,然后就用Java重新写了一下:
<span style="font-size:18px;">import java.util.Scanner;public class TestLuoxuan {public static void fun(int[][] a,int n){int i,j,k = 0,m;if( n % 2 == 0 ){m = n / 2;}else {m = n/2 +1 ;}for(i = 0; i< m; i++){for(j = i; j < n-i; j++){ // 产生 上部横行的数字, 01、02、03、04、05k++; a[i][j] = k; }for(j = i+1; j < n-i; j++){ // 产生右部竖列的数字 ,6、7、8、9、10k++;a[j][n-i-1] = k;}for(j = n-i-2;j>=i;j--){ // 产生下部横行的数字, 11、12、13、14、15k++;a[n-i-1][j] = k;}for(j=n-i-2; j>=i+1; j--){ //产生左部 竖列 的数字, 16、17、18、19、20k++;a[j][i] = k;}}}public static void main(String[] args){int n, i, j;int[][] a = new int[100][100];System.out.println("\r请输入 n阶的大小,注意:n<10 ");Scanner scan = new Scanner(System.in);n = scan.nextInt();fun(a, n);System.out.println(n+"阶的螺旋方阵如下:");for(i = 0; i < n; i++){for(j = 0; j< n; j++){if(a[i][j]<10){System.out.print("0"+a[i][j]+" "); // 在个位数的前面加个0,以便于排列美观}else{System.out.print(a[i][j]+" ");}}System.out.println();}System.out.println();}}</span>
输出结果是:
<span style="font-size:18px;">请输入 n阶的大小,注意:n<10 55阶的螺旋方阵如下:01 02 03 04 05 16 17 18 19 06 15 24 25 20 07 14 23 22 21 08 13 12 11 10 09 </span>
这道题主要考察的是二位数组的运用~
<span style="font-size:18px;">for(j = i; j < n-i; j++){ // 产生 上部横行的数字, 01、02、03、04、05k++; a[i][j] = k; }</span>
如果单单打印上面这段for循环,输出结果为:
01、02、03、04、05
06、07、08
09
这就是整个图形中的一块,再根据这个思路,把其它四边都写出来就OK了~
0 0
- 黑马程序员——今天在黑马论坛看到有人问打印螺旋矩阵的题目
- 黑马程序员——用二维数组打印螺旋方阵和螺旋矩阵
- 黑马程序员——螺旋方阵的打印
- 黑马程序员——螺旋矩阵(很有意思的)
- 黑马程序员——对一道论坛题目的思考
- 黑马程序员----在黑马论坛中看到的一个题目(从5个数中取三个,递归)
- 黑马程序员——实现论坛无刷新的评论
- 螺旋矩阵的打印
- 今天在论坛里看到一网友问关于网络的最新技术,就随便写了点
- 今天在CSDN黑马程序员训练营的分享
- 黑马程序员—经典题目:兔子问题
- 黑马程序员——乱码打印file
- 黑马程序员—之打印流
- 黑马程序员——论坛活动:100以内素数之和、数组排序阶梯状输出、反向打印杨辉三角
- 黑马程序员—我和我男朋友在黑马的故事,感谢黑马~~~~~~~~...
- 黑马程序员—近期论坛答疑小笔记
- 黑马程序员——打印菱形,打印等腰三角形
- 螺旋矩阵2——顺时针打印任意大小的矩阵
- CI框架源码完全分析之核心文件(超级控制器)Controller.php
- struts2的核心和工作原理
- Android中ProgressBar样式
- linux 高效网络编程之内核及系统参数影响(待续)
- 黑马程序员--java基础--static 和 final 修饰符
- 黑马程序员——今天在黑马论坛看到有人问打印螺旋矩阵的题目
- CI框架源码完全分析之核心文件(模型)Model.php
- App(iOS Android)开发时简单的用户反馈实现
- 从零开始学习OpenCL开发(一)架构
- mat 插件地址
- CI框架源码完全分析之核心文件(路由)Router.php
- 教你编写基于Xposed框架的程序
- Solr学习笔记(六)——部署到Tomcat 8
- 剑指Offer之 - 和为s的两个数字 VS 和为s的连续正数序列