奇数偶数和

时间:2011-10-03 20:44:38

标签: 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
     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

我只是看不出这段代码的问题。

4 个答案:

答案 0 :(得分:7)

在Pascal中,:=是赋值运算符。将其替换为=行上的IF x mod 2:= 0 THEN BEGIN

另外,删除BEGIN。结果应为:

IF x mod 2 = 0 THEN

答案 1 :(得分:1)

就在这里:

IF x mod 2:= 0 THEN BEGIN

:=用于分配,使用'='或'=='进行比较。 (在我的脑海中,我不知道Pascal是否使用'=','=='或两者进行比较。其中一个应该可以做到这一点。)

答案 2 :(得分:1)

如果没有错, := 用于声明&分配价值。对于条件,您应该使用 =

x mod 2:= 0 更改为 x mod 2 = 0

答案 3 :(得分:0)

你可以说:

x mod 2 > 0 then writeln(x);

这将打印所有奇数。