|
我觉得你的程序是按行输出的 可是J的值始终都是从1-i之间赋值 也就是说每个循环后J没有自加1 第二行J=2开始
当然我是不懂你所用的编程语言的 呵呵
declare @i int,@j int,@k int,@tem varchar(400)
set @i=1
set @k=0
set @j=0
set @tem=''
while(@i<=9)
begin
set @j=1------>set @j=@j+1
while(@j<10 and @j<=@i)
begin
set @k=@i*@j
set @tem=@tem+' '+cast(@i as varchar(5))+'x'+cast(@j as varchar(5))+'='+cast(@k as varchar(5))
set @j=@j+1
end
set @i=@i+1
print @tem
end
下面这个是抄来的 你试试
Declare @i Int
,@j Int
,@Out Varchar(5000)
Set @i=1
Set @j=1
Set @Out=''
While @i<=9
Begin
While @j<=@i
Begin
Set @Out= @Out + Cast(@j As Varchar(10))+ '×' + Cast(@i As Varchar(10))
+ '=' + Cast(@j*@i As Varchar(1000))
If @j*@i>=10
Set @Out=@Out + ' |' --1个空格
Else
Set @Out=@Out + ' |' --2个空格
Set @j=@j+1
End
Print @Out
Set @Out=''
-- 回车换行
-- Print CHAR(13)+CHAR(10)
Set @i=@i+1
Set @j=1
End
[ 本帖最后由 amita 于 2009-8-12 11:24 编辑 ] |
|