格式如下:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
算法已經做出來,就是不會輸出格式了,應該怎樣做?

解决方案 »

  1.   

    DECLARE
      new_line VARCHAR2(20) DEFAULT NULL;
      wk_cnt   NUMBER       DEFAULT 0;
      wk_cnt1  NUMBER       DEFAULT 0;
    BEGIN
      WHILE wk_cnt <9
      LOOP
        wk_cnt := wk_cnt + 1;
        WHILE wk_cnt1 < wk_cnt
        LOOP
          new_line := chr(10);
          dbms_output.put('*');
          wk_cnt1 := wk_cnt1 + 1;
        END LOOP;
        wk_cnt1 := 0;
        dbms_output.put(new_line);
        new_line := NULL;
      END LOOP;
      dbms_output.put_line('');
    END;
    -------------
    执行结果:
    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    我自己都晕了
      

  2.   

    DECLARE
      i NUMBER;
      j NUMBER;
    BEGIN
      FOR i IN 0..8
      LOOP
        FOR j IN 0..i 
        LOOP
          dbms_output.put('*');
        END LOOP;
        dbms_output.put_line('');
      END LOOP;
    END;
    这个看着清楚些,利用chr(10)一层循环好像也能实现。