源码-印度式乘法口诀表(“双十九”)的PL/SQL实现

来源:互联网 发布:淘宝网天猫超市批发 编辑:程序博客网 时间:2024/05/18 03:01

感觉所谓的写程序,更多的时候是“改”程序。

不过,好的程序应该具有很好的扩展性,改改参数、常数、运算符什么的,就可以产生新的功能。


代码如下:

--使用FOR循环打印“双十九”乘法口诀表(印度乘法口诀表)DECLARE  v_Number1 NUMBER(3);  --外层循环变量  v_Number2 NUMBER(3);  --内存循环变量BEGIN    FOR v_Number1 IN 1..19 --开始外层循环  LOOP    --进行内存循环    FOR v_Number2 IN 1..v_Number1    LOOP      --打印口决内容      --第十行缩进,使得输出更美观      DBMS_OUTPUT.PUT  (v_Number1||'*'||v_Number2||'='||v_Number1*v_Number2||'    ');    END LOOP;     --输出换行      DBMS_OUTPUT.PUT_LINE('');  END LOOP;END;


运行结果:(格式是个问题)

1*1=1   
2*1=2    2*2=4   
3*1=3    3*2=6    3*3=9   
4*1=4    4*2=8    4*3=12    4*4=16   
5*1=5    5*2=10    5*3=15    5*4=20    5*5=25   
6*1=6    6*2=12    6*3=18    6*4=24    6*5=30    6*6=36   
7*1=7    7*2=14    7*3=21    7*4=28    7*5=35    7*6=42    7*7=49   
8*1=8    8*2=16    8*3=24    8*4=32    8*5=40    8*6=48    8*7=56    8*8=64   
9*1=9    9*2=18    9*3=27    9*4=36    9*5=45    9*6=54    9*7=63    9*8=72    9*9=81   
10*1=10    10*2=20    10*3=30    10*4=40    10*5=50    10*6=60    10*7=70    10*8=80    10*9=90    10*10=100   
11*1=11    11*2=22    11*3=33    11*4=44    11*5=55    11*6=66    11*7=77    11*8=88    11*9=99    11*10=110    11*11=121   
12*1=12    12*2=24    12*3=36    12*4=48    12*5=60    12*6=72    12*7=84    12*8=96    12*9=108    12*10=120    12*11=132    12*12=144   
13*1=13    13*2=26    13*3=39    13*4=52    13*5=65    13*6=78    13*7=91    13*8=104    13*9=117    13*10=130    13*11=143    13*12=156    13*13=169   
14*1=14    14*2=28    14*3=42    14*4=56    14*5=70    14*6=84    14*7=98    14*8=112    14*9=126    14*10=140    14*11=154    14*12=168    14*13=182    14*14=196   
15*1=15    15*2=30    15*3=45    15*4=60    15*5=75    15*6=90    15*7=105    15*8=120    15*9=135    15*10=150    15*11=165    15*12=180    15*13=195    15*14=210    15*15=225   
16*1=16    16*2=32    16*3=48    16*4=64    16*5=80    16*6=96    16*7=112    16*8=128    16*9=144    16*10=160    16*11=176    16*12=192    16*13=208    16*14=224    16*15=240    16*16=256   
17*1=17    17*2=34    17*3=51    17*4=68    17*5=85    17*6=102    17*7=119    17*8=136    17*9=153    17*10=170    17*11=187    17*12=204    17*13=221    17*14=238    17*15=255    17*16=272    17*17=289   
18*1=18    18*2=36    18*3=54    18*4=72    18*5=90    18*6=108    18*7=126    18*8=144    18*9=162    18*10=180    18*11=198    18*12=216    18*13=234    18*14=252    18*15=270    18*16=288    18*17=306    18*18=324   
19*1=19    19*2=38    19*3=57    19*4=76    19*5=95    19*6=114    19*7=133    19*8=152    19*9=171    19*10=190    19*11=209    19*12=228    19*13=247    19*14=266    19*15=285    19*16=304    19*17=323    19*18=342    19*19=361   


彩蛋:

使用FOR循环打印“双九九”加法口诀表DECLARE  v_Number1 NUMBER(3);  --外层循环变量  v_Number2 NUMBER(3);  --内存循环变量BEGIN    FOR v_Number1 IN 1..19 --开始外层循环  LOOP    --进行内存循环    FOR v_Number2 IN 1..v_Number1    LOOP      --打印口决内容      --第十行缩进,使得输出更美观      DBMS_OUTPUT.PUT  (v_Number1||'+'||v_Number2||'='||(v_Number1+v_Number2)||'    ');    END LOOP;     --输出换行      DBMS_OUTPUT.PUT_LINE('');  END LOOP;END;--创建为员工加薪的过程CREATE OR REPLACE PROCEDURE AddEmpSalary(p_Ratio NUMBER,p_EmpNo NUMBER)ASBEGIN  IF p_Ratio>0 THEN         --判断传入的参数是否大于0    --如果大于0,则更新Emp表中的数据    UPDATE scott.emp3 SET sal2=sal2*(1+p_Ratio) WHERE EMPNO=p_EmpNo;  END IF;   --提示加薪成功。  DBMS_OUTPUT.PUT_LINE('加薪成功!');END;

运行结果:

1+1=2   
2+1=3    2+2=4   
3+1=4    3+2=5    3+3=6   
4+1=5    4+2=6    4+3=7    4+4=8   
5+1=6    5+2=7    5+3=8    5+4=9    5+5=10   
6+1=7    6+2=8    6+3=9    6+4=10    6+5=11    6+6=12   
7+1=8    7+2=9    7+3=10    7+4=11    7+5=12    7+6=13    7+7=14   
8+1=9    8+2=10    8+3=11    8+4=12    8+5=13    8+6=14    8+7=15    8+8=16   
9+1=10    9+2=11    9+3=12    9+4=13    9+5=14    9+6=15    9+7=16    9+8=17    9+9=18   
10+1=11    10+2=12    10+3=13    10+4=14    10+5=15    10+6=16    10+7=17    10+8=18    10+9=19    10+10=20   
11+1=12    11+2=13    11+3=14    11+4=15    11+5=16    11+6=17    11+7=18    11+8=19    11+9=20    11+10=21    11+11=22   
12+1=13    12+2=14    12+3=15    12+4=16    12+5=17    12+6=18    12+7=19    12+8=20    12+9=21    12+10=22    12+11=23    12+12=24   
13+1=14    13+2=15    13+3=16    13+4=17    13+5=18    13+6=19    13+7=20    13+8=21    13+9=22    13+10=23    13+11=24    13+12=25    13+13=26   
14+1=15    14+2=16    14+3=17    14+4=18    14+5=19    14+6=20    14+7=21    14+8=22    14+9=23    14+10=24    14+11=25    14+12=26    14+13=27    14+14=28   
15+1=16    15+2=17    15+3=18    15+4=19    15+5=20    15+6=21    15+7=22    15+8=23    15+9=24    15+10=25    15+11=26    15+12=27    15+13=28    15+14=29    15+15=30   
16+1=17    16+2=18    16+3=19    16+4=20    16+5=21    16+6=22    16+7=23    16+8=24    16+9=25    16+10=26    16+11=27    16+12=28    16+13=29    16+14=30    16+15=31    16+16=32   
17+1=18    17+2=19    17+3=20    17+4=21    17+5=22    17+6=23    17+7=24    17+8=25    17+9=26    17+10=27    17+11=28    17+12=29    17+13=30    17+14=31    17+15=32    17+16=33    17+17=34   
18+1=19    18+2=20    18+3=21    18+4=22    18+5=23    18+6=24    18+7=25    18+8=26    18+9=27    18+10=28    18+11=29    18+12=30    18+13=31    18+14=32    18+15=33    18+16=34    18+17=35    18+18=36   
19+1=20    19+2=21    19+3=22    19+4=23    19+5=24    19+6=25    19+7=26    19+8=27    19+9=28    19+10=29    19+11=30    19+12=31    19+13=32    19+14=33    19+15=34    19+16=35    19+17=36    19+18=37    19+19=38   




0 0
原创粉丝点击