--打印等腰三角形 默认设置为5行 可以将代码中5改为变量
--思路:因为每行最少有一个*并且有偶数个**;而且每行有5-i个空格:而且发现每行由5个以上基本元素组成(比如:第一行由四个空格和一个*;第二行由三个空格,一个**,和一个*组成)所以@j<5
1 DECLARE @I INT,@J INT,@S VARCHAR(30)
SET @I=1
WHILE @I<=5
BEGIN
5 SET @S=''
SET @J=1
7 WHILE @J<5
8 BEGIN
9 IF @J<=(5-@I)
10 BEGIN
SET @S=@S+' '
END
ELSE
14 BEGIN
SET @S=@S+'**'
16 END
SET @J=@J+1
END
SET @S =@S+'*'
20 PRINT @S
SET @I=@I+1
END
结果:
--打印实心菱形 默认为9行
--思路:和三角形类似 只是添加了一个ABS取绝对值,5为中建行距离中建行的行数差就是要打印的空格数
1 DECLARE @I INT,@J INT,@S VARCHAR(30)
SET @I=1
WHILE @I<=9
BEGIN
SET @S=''
SET @J=1
WHILE @J<5
BEGIN
IF @J<=ABS(5-@I)
BEGIN
SET @S=@S+' '
END
ELSE
BEGIN
SET @S=@S+'**'
END
SET @J=@J+1
END
SET @S =@S+'*'
PRINT @S
SET @I=@I+1
END