黑马程序员技术交流社区
标题:
求大神解答,请写上注释和思想,谢谢啊,搞不懂啊,唉
[打印本页]
作者:
ccsd999
时间:
2015-4-26 11:26
标题:
求大神解答,请写上注释和思想,谢谢啊,搞不懂啊,唉
第四题:(拔高选做题,如果你把之前所有的知识都掌握了,可以思考一下这道题,本题不要求必须完成)
输出 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
作者:
尘埃123
时间:
2015-4-26 12:11
有点儿意思
作者:
sisel
时间:
2015-4-26 12:24
这个主要就考考你的思路,我们直接告诉你就没意思了
作者:
1017161726
时间:
2015-4-26 12:44
我说一下我的思路:定义二维数组,arr[x][y],代表x行y列的数字,然后观察规律,前几行逐级递增,后几行逐级递减,前几竖逐级递减,后几竖逐级递增。而且越靠近中央,递增或递减的数越少。就相当于把矩阵从对角线分割成四块,每一块的规律都一样了。
作者:
大西洋
时间:
2015-4-26 14:37
本帖最后由 大西洋 于 2015-4-26 14:41 编辑
贴出部分代码:
根据C语言的代码改的Java版
public static void Matrix(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、05
k++;
a[i][j] = k;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2