Oracle 练习题 20131021 for 循环练习

原创 2013年12月05日 17:06:26
--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;
版权声明:本文为博主原创文章,未经博主允许不得转载。

Web 基础学习之 JS ,循环练习

1.判断闰年          var i; for(i=1980;i { if( i % 4 == 0 && i % 100 != 0 || i % 400 == 0) document.writ...
  • b1244154318
  • b1244154318
  • 2016年07月08日 21:30
  • 2447

java学习10--循环结构while练习

练习1: 获取1到10,10个数字的和。//掌握累加算法的思想。 练习2: 1~100之间,6的倍数出现的次数。//掌握计数器思想。...
  • yanglijuan0119
  • yanglijuan0119
  • 2015年07月04日 21:03
  • 1190

JAVA学习笔记5——for循环+循环训练题+break、continue+方法概述+递归调用

最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习。 回家的前两天正值周末,所以····嘿嘿懂得~ 今天继续写第5篇,从这篇...
  • u014440351
  • u014440351
  • 2015年01月19日 10:57
  • 1378

Oracle的sql语句练习题含答案

1.选择部门30中的所有员工. 2.列出所有办事员(CLERK)的姓名,编号和部门编号. 3.找出佣金高于薪金的员工. 4.找出佣金高于薪金的60%的员工. 5.找出部门10中所有经理(MANAGER...
  • u012496929
  • u012496929
  • 2015年07月26日 16:30
  • 3937

oracle练习之 子查询

子查询 问题1 : 按工资进行排名,排名从1开始,工资相同则排名相同,(如果两人并列第一则没有第二名 从第三名开始继续排) select e.* , (select count(*) fr...
  • qq_37643150
  • qq_37643150
  • 2017年03月31日 16:56
  • 464

Java 循环语句练习题(1)

1、for循环输出1 到100package com.hz.loop;/** * 1、for循环输出1 到100 * @author ztw * */ public class Practic...
  • qq_33624284
  • qq_33624284
  • 2016年10月02日 20:48
  • 6753

oracle-存储过程练习

--====================================存储过程=============================================== /* *scm_is...
  • y541397839
  • y541397839
  • 2014年11月13日 15:30
  • 979

Oracle的sql语句练习题含答案

--1、选择部门30中的雇员  select * from emp where deptno=30;  --2、列出所有办事员的姓名、编号和部门  select ename,empno,dname f...
  • zhangbingtao2011
  • zhangbingtao2011
  • 2016年04月07日 16:22
  • 482

黑马程序员——C语言循环、switch与if语句笔记和习题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一:while、do-while和for三种循环在具体的使用场合上是有区别的:1、在知道循环次数的...
  • caizexu12345
  • caizexu12345
  • 2015年11月30日 19:11
  • 1067

Oracle练习:有关Oracle用户scott的sql练习

1、列出薪金比“SMITH”多的所有员工。 select *from emp where sal+nvl(comm,0)>(select sal+nvl(comm,0) from emp where...
  • LIUMINGM900913
  • LIUMINGM900913
  • 2014年02月25日 10:00
  • 1003
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle 练习题 20131021 for 循环练习
举报原因:
原因补充:

(最多只允许输入30个字)