【PL/SQL】用星号拼出金字塔

代码中首先声明了几个变量,然后使用嵌套循环去输出空格和星号,其中:

每层空格数=总层数-该层层数

每层星号数=当前层数*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层,效果如下:
 

原文地址:https://www.cnblogs.com/NextAction/p/7376311.html