1
2  7  
3  8   12
4  9   13 16
5  10 14 17 19
6  11 15 18 20 21怎么用双重for循环做啊遇到问题,该如何分析解决

解决方案 »

  1.   


     //外循环记录多少行
        for (int i = 0; i < 7; i++) {
            //内循环和外循环存在联系
         //输出值和外循环有关,记录一下,为m
         //输出个数与外循环有关,内循环控制列,因此j<i控制列
         int m = i;
         for (int j = 0; j < i; j++) {
          //第一次输出无增量,因此需要排除第一次
          if (j > 0) {
    m += 6 - j;
    }
          System.out.print( m + " " );
    }
         //循环完一次换行
         System.out.println();
     }
      

  2.   

    如果要通过二维数组int[][] a = new int[6][6];

            int b = 1;
            
            for(int j = 0; j < 6; j++) {
            
        for(int i = j; i < 6; i++) {
         a[i][j] = b++;
        }
    }
      

  3.   

    手边没Java,一个C#的代码:int rows = 6;
    int i,j, d = 1, t = 0;
    for ( i = 1; i <= rows; ++i, d = i, t = rows)
    {
        for ( j = 0; j < i; ++j, d += --t)
        {
            Console.Write("{0,6}", d);
        }
        Console.WriteLine();
    }
      

  4.   

    手边没Java,一个C#的代码:int rows = 6;
    int i,j, d = 1, t = 0;
    for ( i = 1; i <= rows; ++i, d = i, t = rows)
    {
        for ( j = 0; j < i; ++j, d += --t)
        {
            Console.Write("{0,6}", d);
        }
        Console.WriteLine();
    }
      

  5.   


    int len = 6;
        
         for (int i = 1; i <= len; i++) {
    System.out.print(i + " ");
    int k = 5; 
    int p = i + k;
         for (int j = 1; j < i; j++) {
    System.out.print(p + " ");
    p += --k;
    }
        
         System.out.println();
    }