applefeng_52 2008-09-24 16:41
浏览 176
已采纳

程序打印题,如下:

写个程序,打印出以下数据:
1 2 6 7 15 16 28 29 45

3 5 8 14 17 27 30 44 46

4 9 13 18 26 31 43 47 60

10 12 19 25 32 42 48 59 61

11 20 24 33 41 49 58 62 71

21 23 34 40 50 57 63 70 72

22 35 39 51 56 64 69 73 78

36 38 52 55 65 68 74 77 79

37 53 54 66 67 75 76 80 81

  • 写回答

1条回答 默认 最新

  • xuxiaolei 2008-09-25 08:21
    关注

    [code="java"]
    public static void main(String[] args) {
    int[][] a = new int[9][9];
    int idx = 0;

        for(int i = 0; i < 10; i++) {
    
            if(i % 2 == 1) {
                for(int x = 0, y = i -1; x < i && y >= 0; x++, y--) {
                    a[x][y] = ++idx;
                }
            } else {
                for(int x = i -1, y = 0; x >= 0 && y < i; x--, y++) {
                    a[x][y] = ++idx;
                }
            }
        }
    
        for(int i = 1; i < 9; i++) {
            if(i % 2 == 1) {
                for(int x = 9 - 1, y = i; x >= i && y < 9; x--, y++ ) {
                    a[x][y] = ++idx;
                }
            } else {
                for(int x = i, y = 9 -1; x < 9 && y >= i; x++, y--) {
                    a[x][y] = ++idx;
                }
            }
    
        }
    
        for(int y = 0; y < 9; y++) {
            for(int x = 0; x < 9; x++) {
                System.out.print(a[x][y] + "\t");
            }
    
            System.out.println();
        }
    }
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?