Oracle 练习题 20131021 for 循环练习
来源:互联网 发布:淘宝上的机锋市场 编辑:程序博客网 时间:2024/04/24 23:40
--Oracle 练习题 20131021 for 循环练习
--1、用for循环实现一个倒置的乘法表。
begin
for i in reverse 1 .. 9 loop
for j in reverse 1 .. i loop
dbms_output.put(i || 'x' || j || '=' || i * j || ' ');
end loop;
dbms_output.put_line('');
end loop;
end;
--2、打印1-100之间所有的素数。
declare
v_temp number := 0;
begin
for i in 2 .. 100 loop
for j in 1 .. sqrt(i) loop
if mod(i,j) = 0 then
v_temp := v_temp + 1;
end if;
end loop;
if v_temp = 1 then
dbms_output.put_line(i);
end if;
v_temp := 0;
end loop;
end;
--3、输入两个数求它们的最大公约数和最小公倍数。
declare
v_a number := &inputa;
v_b number := &inputb;
v_rsa number;
v_rsb number;
begin
for i in 1 .. (v_a+v_b)/2 loop
if mod(v_a,i)=0 and mod(v_b,i)=0 then
v_rsa := i;
end if;
end loop;
for j in reverse 1 .. v_a*v_b loop
if mod(j,v_a)=0 and mod(j,v_b)=0 then
v_rsb := j;
end if;
end loop;
dbms_output.put_line('最大公约数:' || v_rsa);
dbms_output.put_line('最小公倍数:' || v_rsb);
end;
--4、打印如下菱形
-- *
-- ***
-- *****
-- *******
-- *****
-- ***
-- *
begin
--上半部分
for i in 1..4 loop
for j in 1..(5-i) loop
dbms_output.put(' ');
end loop;
for k in 1..(2*i-1) loop
dbms_output.put('*');
end loop;
dbms_output.put_line('');
end loop;
--下半部分
for i in 1..3 loop
for j in 1..i+1 loop
dbms_output.put(' ');
end loop;
for k in 1..7-(2*i) loop
dbms_output.put('*');
end loop;
dbms_output.put_line('');
end loop;
end;
- Oracle 练习题 20131021 for 循环练习
- for循环练习【20171113练习】
- for循环练习
- for循环练习*累加
- for循环程序练习
- for循环练习
- for 循环 嵌套练习
- For循环练习
- for嵌套循环练习
- for循环练习
- for循环 进阶练习
- for循环的练习
- for循环语句练习
- for循环练习(累加思想)
- 高级for循环 练习笔记
- 关于for循环的练习
- 3.10-for循环嵌套练习
- js基础for循环练习
- Oracle plsqlI 练习 传值
- Oracle-(if/case/以及模拟注册登录)练习-20131015
- Oracle plsql 月历
- Oracle 练习题 20131017
- Oracle plsql 计算日期间工作日天数
- Oracle 练习题 20131021 for 循环练习
- 按钮button加超链接
- 网页自动关闭的代码
- ORA-14551: 无法在查询中执行 DML 操作
- Oracle 练习P297 131026 PL/SQL块程序
- 游标复习笔记
- Python--glob 获取指定目标下所有的jpg文件的名字
- Oracle 游标的练习
- ORA-01002 提取违反顺序