回 帖 发 新 帖 刷新版面

主题:在else后提示语句错,请问高手,这是什么原因???

输入一个三位数,要求出个十百数顺序相反的数
if (i>0) and (i<1000) then
   begin a:=trunc(i/100);
         b:=trunc((i-100*a)/10);
         c:=i-a-b;
         s:=c*100+b*10+a;
   end;
else write('not in law');{意思是想说输入的数不在范围内}
end.

在else后提示语句错,请问高手,这是什么原因???

回复列表 (共18个回复)

11 楼

else前的语句不能加;

12 楼


这样似乎好点?
if (i>0) and (i<1000) then
  begin
    a:=i div 100;
    b:=i div 10-10*a;
    c:=i mod 10;
    s:=c*100+b*10+a;
  end
else
  write('ILLEGAL');{意思是想说输入的数不在范围内}
end.

13 楼

~铺天盖地的分号啊

14 楼

begin a:=trunc(i/100);
         b:=trunc((i-100*a)/10);
         c:=i-a-b;
         s:=c*100+b*10+a;
   end;
把end后面的“;”删去

15 楼

else 前的end;改之; end

16 楼


else前的end不能加;

17 楼

1楼说的对啊,可能你else前一句家了;(分号)了,也是照样提示出错。

18 楼


   这是初学者很容易犯的错误,错误就是上面说的第一个END后面不要加‘;’就可以了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册