print '三角形'
declare @a int
set @a=1
while(@a<10)
begin
print replace(space(@a),' ','*')
set @a=@a+1
end
go
print '-------------'
print '正方形'
declare @a int declare @b int
declare @c nvarchar(100)
set @a=1 set @b=1 set @c=''
while (@a<10)
begin
while (@b<10)
begin
set @c=@c+'* '
set @b=@b+1
end
print @c
set @a=@a+1
end
go
print '-------------'
print '菱形'
declare @a int,@b int
set @a=1 set @b=9
if(@b%2!=1)
print '数字必须都是奇数'
else
while(@a<=@b)
begin
if(@a%2=1)
print space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)
set @a=@a+1
end
set @a=@a-2
while (@a<=@b)
begin
if(@a%2=1)
print space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)
set @a=@a-1
if (@a<0)
break
end
go
--优化版本
print '-------------'
print '菱形'
declare @a int,@b int
set @a=1 set @b=9
if(@b%2!=1)
print '数字必须都是奇数'
else
while(@a<=@b)
begin
print space((@b-@a)/2)+replace(space(@a),' ','*')
set @a=@a+2
end
set @a=@a-4
while (@a>=0)
begin
print space((@b-@a)/2)+replace(space(@a),' ','*')
set @a=@a-2
end
go
print '-------------'
print '梯形'
declare @a int,@b int
set @a=3 set @b=10
if(@a%2=1)
while(@a<@b)
begin
print space((@b-@a)/2)+replace(space(@a),' ','*')
set @a=@a+2
end
go
转载于:https://www.cnblogs.com/DHclly/p/6636445.html