黑马程序员技术交流社区
标题:
输出 n=5 的螺旋方阵
[打印本页]
作者:
胡帅
时间:
2015-4-8 23:53
标题:
输出 n=5 的螺旋方阵
/*
输出 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
*/
class Example001
{
public static void main(String[] args)
{
int size = 5;
int arr[][] = new int[size][size];
int i, j, k = 0, n, m;
n = size;
for (i = 0; i < n; i++) {
// 顶边,从左到右,行不变列变
for (j = i; j <= n - i - 1; j++)
arr[i][j] = ++k;// i=0进来是输出1、2、3、4、5; i=1进来输出17、18、19 ;i=3,输出25
// 右边,从上到下,行变列不变
for (j = i + 1; j <= n - i - 1; j++)
arr[j][n - i - 1] = ++k; // i=0进来是输出6、7、8、9 ; i=1进来输出20、21
// 底边,从右到左,行不变列变
for (j = n - i - 2; j >= i; j--)
arr[n - i - 1][j] = ++k; // i=0进来是输出10、11、12、13;i=1进来输出22、23
// 左边,从下到上,行变列不变
for (j = n - i - 2; j >= i + 1; j--)
arr[j][i] = ++k; // i=0进来是输出14、15、16 ;i=1进来输出24
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
System.out.print(arr[i][j] + "\t");
System.out.println();
}
}
}
复制代码
作者:
黑色救护车
时间:
2015-4-9 07:40
学习了!!!多谢分享~
作者:
ShadowDancer
时间:
2015-4-9 09:36
多谢!!!
作者:
Mr.Cai
时间:
2015-4-9 13:50
不错的,学习了
作者:
1017161726
时间:
2015-4-9 14:13
这个还是比较复杂的。。
作者:
星河
时间:
2015-4-9 15:30
学习学习
作者:
lclxjzz
时间:
2015-4-9 15:40
学习学习·····
作者:
百思不得解
时间:
2015-4-9 15:48
不错不错,学习了。逻辑好复杂的样子,理解不透是写不出来的。
作者:
zouxx
时间:
2015-4-9 16:07
学习了,看了半天终于看懂了
作者:
z小怪兽
时间:
2015-4-9 19:12
路过膜拜
作者:
huozifan11
时间:
2015-4-9 19:21
大神你好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2