declare @num1 int
declare @num2 int
declare @result int
set @num1=1
set @result =1
while(@num1<=9)
begin
--怎么打印换行
set @num2=1
while(@num2<=@num1)
begin
set @reault = @num1*@num2
print convert(varchar(5),@result)+'='+covert(varchar(5),@num2)+'*'+onvert(varchar(5),@num1)
--怎么弄成制表位
set @num2=@num2+1 
end
set @num1 =@num1+1
end
--还有没有更好的编写方法,很期待,谢谢大家!
------------------
结果:
1=1*1
2=1*2
4=2*2
3=1*3
6=2*3
9=3*3
4=1*4
8=2*4
12=3*4
16=4*4
5=1*5
10=2*5
15=3*5
20=4*5
25=5*5
6=1*6
12=2*6
18=3*6
24=4*6
30=5*6
36=6*6
7=1*7
14=2*7
21=3*7
28=4*7
35=5*7
42=6*7
49=7*7
8=1*8
16=2*8
24=3*8
32=4*8
40=5*8
48=6*8
56=7*8
64=8*8
9=1*9
18=2*9
27=3*9
36=4*9
45=5*9
54=6*9
63=7*9
72=8*9
81=9*9--

解决方案 »

  1.   

    declare @i int 
    declare @g int 
    declare @sum varchar(400)
    set @i=1
    while(@i<10)
    begin
    set @g=1
    set @sum=''
    while(@g<=@i)
    begin
    set @sum=@sum+convert(varchar(20),@i)
    +'*'+convert(varchar(20),@g)
    +'='+convert(varchar(20),@i*@g)+'  ' --(空格相当于制表位的)   --字符串连接,在使用时,你是否已经忘记
    if(@i=@g)
    print '' +@sum
    set @g=@g+1
    end
    set @i=@i+1
    end
      

  2.   

    那样也是不可以,不过用我下面写的就行^o&o^
    谢谢你~~