A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© brouse 中级黑马   /  2015-4-29 21:10  /  443 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何输出 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 Demo
{
    public static void main(String[] args)
    {
         int SIZE = 5;
         int arr[][] = new int[SIZE][SIZE];
         int i, j, k = 0, n, m;
         n = SIZE;                m = (n + 1) / 2;
         for (i = 0; i < n; i++)
        {
// 顶边,从左到右,行不变列变
             for (j = i; j <= n - i - 1; j++)
             arr[i][j] = ++k;// 输出1、2、3、4、13、14
// 右边,从上到下,行变列不变
             for (j = i + 1; j <= n - i - 1; j++)                                arr[j][n - i - 1] = ++k; // 输出5、6、7、15
// 底边,从右到左,行不变列变
             for (j = n - i - 2; j >= i; j--)                                arr[n - i - 1][j] = ++k; // 输出8、9、10、16
// 左边,从下到上,行变列不变
             for (j = n - i - 2; j >= i + 1; j--)                                arr[j][i] = ++k; // 输出11、12
        }
             for (i = 0; i < n; i++)
            {
                for (j = 0; j < n; j++)                                System.out.print(arr[i][j] + "\t");
                System.out.println("");
            }
    }
}

5 个回复

倒序浏览
发了怎么有语句到右边去了!
回复 使用道具 举报
我就是想问问你  你看懂了没:D
回复 使用道具 举报
谁能发个简单点的。完全看不懂啊
回复 使用道具 举报
根本看不懂
回复 使用道具 举报
看不懂,泪奔啊!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马