首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

新人!求帮解答个九九乘法表的解析。该怎么解决

2012-09-23 
新人!求帮解答个九九乘法表的解析。请帮忙写下每步的注释都是完成什么是什么意思,谢谢SQL codedeclare @a i

新人!求帮解答个九九乘法表的解析。
请帮忙写下每步的注释都是完成什么 是什么意思,谢谢

SQL code
declare @a int,@b int,@c varchar(100)set @a=1while(@a<=9)  begin     select @b=1,@c=''   while(@b<=@a)     begin         select @c=@c+cast(@b as varchar)+'*'+cast(@a as varchar)+'='+cast(@a*@b as varchar)+' '         set @b=@b+1     end         print @c+char(10)         set @a=@a+1  end


[解决办法]
SQL code
declare @a int,@b int,@c varchar(100)--定义乘法表的两个乘数,@c是将乘法表的每行按照字符串的格式输出!set @a=1--定义最外边乘数的初始值,就是乘法表中每行右边的数。while(@a<=9)--循环体条件  begin     select @b=1,@c=''--定义里层乘数初始值,结果字符串变量@c赋值为空,否则是NULL,输出也会是NULL。   while(@b<=@a)--乘法表格式的一个循环条件,按左下三角格式输出。     begin         select @c=@c+cast(@b as varchar)+'*'+cast(@a as varchar)+'='+cast(@a*@b as varchar)+' '--给输出字符串赋值,类似  1*1=1 具体以字符串格式输出。         set @b=@b+1  --里层循环控制条件。     end         print @c+char(10) --输出字符串加换行符打印。         set @a=@a+1  --外层循环控制条件。  end
[解决办法]
SQL code
--定义变量declare @a int,@b int,@c varchar(100)--赋a初始值set @a=1--开始循环,条件:a小于等于9while(@a<=9)  begin--赋初始值     select @b=1,@c=''--开始循环,条件:b小于等于a   while(@b<=@a)     begin--执行乘法运算         select @c=@c+cast(@b as varchar)+'*'+cast(@a as varchar)+'='+cast(@a*@b as varchar)+' '--b加1         set @b=@b+1     end--打印结果         print @c+char(10)--a加1         set @a=@a+1  end 

热点排行