日期:2014-05-17  浏览次数:20498 次

跟着前辈大牛们学习了这么久,CSDN的处女贴,来个99乘法表,像大牛们学习!

DECLARE @NumA INT=1
DECLARE @NumB INT=1
DECLARE @Str VARCHAR(200)

WHILE @NumA<=9
BEGIN
SET @Str=''
SET @NumB=1
WHILE @NumB<=@NumA
BEGIN
SET @Str=@Str+RTRIM(@NumB)+'*'+RTRIM(@NumA)+'='+RTRIM(RIGHT(100+@NumA*@NumB,2))+SPACE(1)
SET @NumB=@NumB+1
END
SET @Str = REPLACE(@Str, '=0', '= ')
PRINT @Str
SET @NumA=@NumA+1
END

PRINT CHAR(13)
/*
1*1= 1 
1*2= 2 2*2= 4 
1*3= 3 2*3= 6 3*3= 9 
1*4= 4 2*4= 8 3*4=12 4*4=16 
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
*/

SET @NumA=1
WHILE @NumA<=9
BEGIN
SET @Str=''
SET @NumB=@NumA
WHILE @NumB>0
BEGIN
SET @Str=@Str+RTRIM(@NumB)+'*'+RTRIM(@NumA)+'='+RTRIM(RIGHT(100+@NumA*@NumB,2))+SPACE(1)
SET @NumB=@NumB-1
END
SET @Str = SPACE((9-@NumA)*7)+REPLACE(@Str, '=0', '= ')
PRINT @Str
SET @NumA=@NumA+1
END

PRINT CHAR(13)
/*                                                      1*1= 1 
                                                 2*2= 4 1*2= 2 
                                          3*3= 9 2*3= 6 1*3= 3 
                                   4*4=16 3*4=12 2*4= 8 1*4= 4 
                            5*5=25 4*5=20 3*5=15 2*5=10 1*5= 5 
                     6*6=36 5*6=30 4*6=24 3*6=18 2*6=12 1*6= 6 
              7*7=49 6*7=42 5*7=35 4*7=28 3*7=21 2*7=14 1*7= 7 
       8*8=64 7*8=56 6*8=48 5*8=40 4*8=32 3*8=24 2*8=16 1*8= 8 
9*9=81 8*9=72 7*9=63 6*9=54 5*9=45 4*9=36 3*9=27 2*9=18 1*9= 9 
*/