代码中首先声明了几个变量,然后使用嵌套循环去输出空格和星号,其中:
每层空格数=总层数-该层层数
每层星号数=当前层数*2-1
代码如下:
declare v_number1 number(10); --外层循环控制金字塔层数 v_number2 number(10); --内层循环控制每行空格数 v_number3 number(10); --内层循环控制每行星号数 v_num NUMBER(10); --金字塔层数 begin for v_number1 in 1..&v_num --设置金字塔层数 loop for v_number2 in 1..(&v_num-v_number1) --每层空格数=总层数-该层层数 loop dbms_output.put (' '); --打印空格,注意不要换行 end loop; for v_number3 in 1..(v_number1*2-1) --每层星号数=当前层数*2-1 loop dbms_output.put ('*'); --打印星号,注意不要换行 end loop; dbms_output.put_line(''); --换行 end loop; end; /
v_num输入10,即金字塔为10层,效果如下: