输出一个空心三角形。
set serveroutput on;
-- 打开系统默认设置的输出功能
declare
k number(8);
i number(8);
j number(8);
begin
dbms_output.put_line(' ');
-- 提前换行,不提前换行可能第一行的* 前面没有空格
for i in 1..10 loop
for j in 1..(10-i) loop
-- 输出前面空格
dbms_output.put(' ');
end loop;
for k in 1..(2*i-1) loop
if i=1 or i= 10 then
-- 输出* 和空格
dbms_output.put('*');
else
if k=1 or k=(2*i-1) then
dbms_output.put('*');
else
dbms_output.put(' ');
end if;
end if;
end loop;
-- 换行
dbms_output.put_line(' ');
end loop;
end;
dbms_output.put() 输出不换行
dbms_output.put_line()输出并换行
求1!+2!+...+10!的值。
方法一和方法二相差不大
--方法一
set serveroutput on;
declare
sum_sum number(10):=0;jc number(10) ; n number(10):=0;i number(10);
begin
<<bbscip_loop>>
loop
if n <= 10 then
i :=1;jc :=1;n:=n+1;
begin
<<bb2_loop>>
loop
if i < n then
jc :=jc * i;
i:= i+1;
else
exit bb2_loop;
end if;end loop;end;
sum_sum := sum_sum +jc;
else
dbms_output.put_line('结果为' || sum_sum);
exit bbscip_loop;
end if;end loop;end;
/
set serveroutput on;
declare
sum_num number(8) :=0;
n number(8) :=1;
begin
for i in 1..10 loop
n:=n*i;
sum_num:=sum_num +n;
end loop;
dbms_output.put_line('结果为' || sum_num);
end;