sql存储过程打印图形

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值