运用T-SQL编程打印数学模型

一、九九乘法表

DECLARE @i INT;
DECLARE @j INT;
DECLARE @k VARCHAR(1000);
SET @i=0
WHILE @i<9
BEGIN
SET @i=@i+1
SET @j=0
SET @k=''
WHILE @j<@i
BEGIN
SET @j=@j+1
SET @k=@k+CAST(@i AS VARCHAR)+'*'+CAST(@j AS VARCHAR)+'='+CAST(@i*@j AS VARCHAR)+';'
END
PRINT @k
END

 

二、实心菱形(修改@num改变行数)

DECLARE @num INT;
DECLARE @i INT;
SET @num=5;
SET @i=@num;
IF(@num<3 OR @num%2=0)
BEGIN
PRINT N'请输入大于1的奇数^_^'
END
ELSE
BEGIN
WHILE @i>0
BEGIN
IF(@i>(@num/2))
BEGIN
SET @i=@i-1
PRINT SPACE(@i-(@num/2))+REPLACE(SPACE(((@num-1)-@i)*2+1),' ','*')
END
ELSE
BEGIN
PRINT SPACE((@num/2+1)-@i)+REPLACE(SPACE(@i*2-1),' ','*')
SET @i=@i-1
END
END
END

三、空心菱形(修改@num改变行数)

DECLARE @num INT;
DECLARE @i INT;
SET @num=5;
SET @i=@num;
IF(@num<3 OR @num%2=0)
BEGIN
PRINT N'请输入大于1的奇数^_^'
END
ELSE
BEGIN
WHILE @i>0
BEGIN
IF(@i>(@num-1))
BEGIN
SET @i=@i-1
PRINT SPACE(@i-@num/2)+REPLACE(SPACE(1),' ','*')
END
ELSE IF(@i>(@num/2))
BEGIN
SET @i=@i-1
PRINT SPACE(@i-@num/2)+REPLACE(SPACE(1),' ','*')
+SPACE(((@num-2)-@i)*2+1)+REPLACE(SPACE(1),' ','*')
END
ElSE IF(@i>1)
BEGIN
PRINT SPACE((@num/2+1)-@i)+REPLACE(SPACE(1),' ','*')
+SPACE(2*@i-3)+REplACE(SPACE(1),' ','*')
SET @i=@i-1
END
ELSE
BEGIN
PRINT SPACE((@num/2+1)-@i)+REPLACE(SPACE(1),' ','*')
SET @i=@i-1
END
END
END
posted @ 2012-02-18 02:28  _vince  Views(201)  Comments(0)    收藏  举报