Oracle数据库pl/sql编程。输出空心三角形

输出一个空心三角形。

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值