这是一个返回因子的pascal程序。速率是用户给出的输入。这个程序给我带来了错误。请看一看,帮帮忙。
我想纠正错误。我无法找出错误,因为我对帕斯卡和我都很陌生。
program Mss;
var
rate,factor:integer;
begin
readln(rate);
case rate of
1..2:begin
factor:=(2*rate)-1;
writeln(factor);
end
3:begin throws error here
factor:=(3*rate)-1;
writeln(factor);
end
4:begin
factor:=(4*rate)-1;
writeln:=(factor);
end
5:begin
factor:=(3*rate)-1;
writeln(factor);
end
6..8:begin
factor:=rate-2;
writeln(factor);
end
else begin
writeln(rate);
end
end;这是一个返回因子的开关情况。费率是用户的输入。这让我犯了个错误。
Fatal: Syntax error, ";" expected but "ordinal const" found发布于 2022-10-27 21:37:18
您有一些语法错误。您的开始/结束块需要后面跟着;。
writeln:=(factor)应该是writeln(factor)。
你需要一个end.来完成这个程序。
program Mss;
var
rate,factor:integer;
begin
readln(rate);
case rate of
1..2:begin
factor:=(2*rate)-1;
writeln(factor);
end;
3:begin
factor:=(3*rate)-1;
writeln(factor);
end;
4:begin
factor:=(4*rate)-1;
writeln(factor);
end;
5:begin
factor:=(3*rate)-1;
writeln(factor);
end;
6..8:begin
factor:=rate-2;
writeln(factor);
end;
else begin
writeln(rate);
end
end
end.另外,请注意,Pascal中的;是一个分隔符,因此您可以编写如下代码:
6..8:begin
factor:=rate-2;
writeln(factor);
end;作为:
6..8:begin
factor:=rate-2;
writeln(factor)
end;https://stackoverflow.com/questions/74228516
复制相似问题