菱形每一行都是由n个' ' + n 个'**' + 1个'*' 组成的
例如高度为9的菱形(共print 9次),*最多的一次print为第五次第五次就是0个' ' + 4个'**' + 1个'*' ,所以每一行都有 (高度+1)/2的输出对象(为*或者**、' '),
所以第一行就是4个 ' ' + 0个'**' + 1 个'*',
第二行 3个' ' + 1个 '**' + 1个'*'。。。以此类推,下面是SQL代码
declare @i int ,@j int ,@s nvarchar(max) set @i = 1 while @i <= 9 begin set @s = '' set @j = 1 while @j < 5 begin if ABS(@i - 5) >= @j begin set @s += ' ' end else begin set @s += '**' end set @j += 1 end set @s += '*' print @s set @i +=1 end