SQL语句 打印等腰三角形,菱形

--打印等腰三角形 默认设置为5行 可以将代码中5改为变量
--思路:因为每行最少有一个*并且有偶数个**;而且每行有5-i个空格:而且发现每行由5个以上基本元素组成(比如:第一行由四个空格和一个*;第二行由三个空格,一个**,和一个*组成)所以@j<5
1
DECLARE @I INT,@J INT,@S VARCHAR(30) 2 SET @I=1 3 WHILE @I<=5 4 BEGIN 5 SET @S='' 6 SET @J=1 7 WHILE @J<5 8 BEGIN 9 IF @J<=(5-@I) 10 BEGIN 11 SET @S=@S+' ' 12 END 13 ELSE 14 BEGIN 15 SET @S=@S+'**' 16 END 17 SET @J=@J+1 18 END 19 SET @S =@S+'*' 20 PRINT @S 21 SET @I=@I+1 22 END

结果:

--打印实心菱形  默认为9行
--思路:和三角形类似 只是添加了一个ABS取绝对值,5为中建行距离中建行的行数差就是要打印的空格数
1
DECLARE @I INT,@J INT,@S VARCHAR(30) 2 SET @I=1 3 WHILE @I<=9 4 BEGIN 5 SET @S='' 6 SET @J=1 7 WHILE @J<5 8 BEGIN 9 IF @J<=ABS(5-@I) 10 BEGIN 11 SET @S=@S+' ' 12 END 13 ELSE 14 BEGIN 15 SET @S=@S+'**' 16 END 17 SET @J=@J+1 18 END 19 SET @S =@S+'*' 20 PRINT @S 21 SET @I=@I+1 22 END

posted @ 2015-09-01 16:45  少年工藤  阅读(3385)  评论(2编辑  收藏  举报