Pascal 奇偶数和
我需要计算奇偶和,这里是我到目前为止得到的:Pascal 奇偶数和,pascal,Pascal,我需要计算奇偶和,这里是我到目前为止得到的: PROGRAM EvenOddSum; USES WinCrt; VAR odd, even, x: INTEGER; BEGIN WriteLn('Calculation of sum'); WriteLn; odd := 0; even := 0; Write('Enter value(s)'); WHILE x > 0 DO BEGIN IF x mod 2:= 0 THEN BEGIN
PROGRAM EvenOddSum;
USES
WinCrt;
VAR
odd, even, x: INTEGER;
BEGIN
WriteLn('Calculation of sum');
WriteLn;
odd := 0;
even := 0;
Write('Enter value(s)');
WHILE x > 0 DO BEGIN
IF x mod 2:= 0 THEN BEGIN
even := even + x;
ELSE
odd := odd + x;
ReadLn(x);
END;
WriteLn;
WriteLn('Even sum is = ', even);
WriteLn('Odd sum is =', odd);
END.
我使用freepascal.org编译器,得到以下错误:
SYNTAX error THEN expected but := found
我看不出这个代码有什么问题。在Pascal中,
:=
是赋值运算符。如果x mod 2:=0,则在读取的行中将其替换为=
,然后开始
另外,卸下开始
。结果应为:
IF x mod 2 = 0 THEN
在这里:
IF x mod 2:= 0 THEN BEGIN
:=
用于赋值,使用“=”或“=”进行比较。
(我不知道Pascal是使用“=”、“=”,还是同时使用这两种语言进行比较。其中一种应该可以做到这一点)。如果我没有错,:=
用于声明和赋值。对于条件,您应该使用=
将x mod 2:=0
更改为x mod 2=0
您可以说:
x mod 2>0,然后写入n(x)代码>
这将打印所有的奇数。我上次写Pascal是在1983年,但你确定之后需要BEGIN关键字吗?我记得BEGIN引入了一个指令块,就像C/C++/Java/C#中的{does.@EricJ。我想是这样的