20.-Construir un programa que genere un número aleatorio entre 1 y 10. Si el número es 1,2 ó 3, que se visualicen tantos * como indique su valor. Si el número es 4, 5 ó 6, que se visualicen tantas # como indique su valor. Si el número es 7, 8 ó 9, que se visualice el número aleatorio tantas veces como indique su valor. Si el número es el 10 que se visualice la expresión ‘VALOR MÁXIMO’.
Por ejemplo:
Si sale un 2, se visualizará **
Si sale un 6, se visualizará ######
Si sale un 7, se visualizará 7777777
Y si sale un 10, se visualizará VALOR MÁXIMO
Mi código es el siguiente:
declare @a int,@b varchar(20),@c int
set @a=rand()*10+1
set @b=''
set @c=0
if @a < 4
while @c<@a
begin
set @b=@b+'*'
set @c=@c+1
end
set @c=''
if @a>=4 and @a<7
while @c<@a
begin
set @b=@b+'#'
set @c=@c+1
end
set @c=''
if @a>=7 and @a<10
while @c<@a
begin
while @b=@a
begin
print @b
set @b=@b+1
end
set @c=@c+1
end
set @c=''
if @a=10
set @b='VALOR MAXIMO'
print @a
print @b
Mi problema es que en la parte de si @a es mayor que 7 y menor que diez, no se como hacer que salga tanto números como valor tenga, si alguien me puede echar una mano se lo agradecería