注册 登录
编程论坛 SQL Server论坛

求100以内能被三整除的个数 。else 附近语法错误 ,求指教(初学者,请多多包涵)

花脸 发布于 2017-03-20 22:04, 1775 次点击
declare @a int,@x int
set @a=0
set @x=1
while @x<=100
  begin
    if(@x%3=0)
      select @a=@a+1    --计数a加一
     select @x=@x+1     --自变量加一
    /*else
      select @x=@x+1*/   --如果不符合x%3=0, 不也得自变量x加一吗?为什么把这个注释掉 分析就能通过,else 附近什么地方语法错了?
   end   
   print @a
4 回复
#2
mywisdom882017-03-22 09:09
-- 格式1:不论是否符合,X都加1
declare @a int,@x int
 set @a=0
 set @x=1
 while @x<=100
   begin
     if(@x%3=0)
       select @a=@a+1    --计数a加一
      
     select @x=@x+1     --自变量加一
   end   
 print @a

-- 格式2:
 set @a=0
 set @x=1
 while @x<=100
   begin
     if(@x%3=0)
       begin
         select @a=@a+1    --计数a加一
         select @x=@x+1    --自变量加一
       end
     else
       begin
         select @x=@x+1    --自变量加一
       end
   end   
 print @a
#3
mywisdom882017-03-22 09:14
也就是说, 你的 if 语法用错了。
正确的是这样用的
if 条件
   begin
     语句1
     语句2
     语句3
   end
els
   begin
     别的语句1
     别的语句2
     别的语句3
   end
如果你都只执行1条语句,那就简化了,省略了 begin  ... end
if 条件
   语句1
else
    别的语句1


#4
花脸2017-03-22 20:47
回复 2楼 mywisdom88
恩 好的 明白了 但是 格式一如果不符合不应该设置个else 让x也加一吗?

[此贴子已经被作者于2017-3-22 20:48编辑过]

#5
花脸2017-03-22 20:47
回复 3楼 mywisdom88
恩 好的 谢谢你;
1