回 帖 发 新 帖 刷新版面

主题:我是小学生,我不会了,请帮助

第二题

var q:real;
begin
  write ('q');readln(q);
  if q>=10000 then ('q'='q*0.05')
               else if q>=5000 then ('q'='q*0.03')
                               if q>=1000 then ('q'='q*0.02')
                                           else (q=q*0);
  writeln(q:0:0);
end.

 在第一个“else”处,出现“error 122:Invalid variable reference                   无效的变量引用  ”

不知错在哪?请帮忙。

谢谢

回复列表 (共3个回复)

沙发

修改如下:
var q:real;
begin
  write ('q');readln(q);
  if q>=10000 then ('q'='q*0.05')
               else if q>=5000 then ('q'='q*0.03');(加一个分号,因为下面没有了else,所以要有一个分号)
                               if q>=1000 then ('q'='q*0.02')
                                           else (q=q*0);
  writeln(q:0:0);
end.

板凳

修改如下:
var q:extended;{把它改成extended好点,因为用real误差较大}
begin
  write('q');readln(q);
  if q>=10000 then writeln('q=q*0.05'){输出格式有点问题,不知道是不是这样的,以下也是如此}
              else if q>=5000 then writeln('q=q*0.03')
                              else if q>=1000 then ('q=q*0.02')
                                              else writeln('q=q*0');
  writeln(q:0:0);
end.

建议LZ把题目发上来,否则我们也不知道改的对不对。。。。。

3 楼

var q:real;
begin
  write ('q:');readln(q);
  if q>=10000 then (q:=q*0.05)
    else if q>=5000 then (q:=q*0.03)
    else if q>=1000 then (q:=q*0.02)
    else (q:=q*0);
  writeln(q:0:0);
end.

我来回复

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