我在 Pascal 中遇到偶数和奇数问题

I'm having some problems with even and odd numbers in Pascal

我的 Pascal 程序有一些问题。我需要创建一个程序来计算数字分解的偶数和奇数和。例如,如果我的数字是 10,程序应该写偶数之和为 30(因为 2、4、6、8、10 是偶数),它应该写奇数之和为 25(因为 1, 3,5,7,9 是奇数)。这是我试过的

program odd_even;
var 
  a,sumeven,sumodd,even,odd : integer;

begin
  writeln('Enter a number : ');
  readln(a);
  if a mod 2 = 0 then a=even;
  if a mod 2 not=0 then a=odd;
  for a:1 to a do begin
    sumeven:=0;
    sumeven:=sumeven+even
    writeln('Sum of even numbers is : ',sumeven);
    sumodd:=0;
    sumodd:=sumodd+odd;
    writeln('Sum of odd numbers is : ',sumodd),
  end;
  readln
end.

编译器说我的 if 部分是非法的,但我不知道如何修复它,我也尝试过使用 else 但它说的是同样的事情。如果有人能帮助我,我将不胜感激。

首先,欢迎来到编程世界! 您的代码中有几个错误:

结果变量的初始化

sumEven:=0;
sumOdd:=0;

应该你的for循环之前 检查 odd/even

if a mod 2 = 0 then a=even;
if a mod 2 not=0 then a=odd;

应该 你的循环中,你不应该检查 a (你的输入数字)是否是 odd/even 而是你的循环变量的值:

for i := 1  to a do

   begin
       if (i mod 2 <> 0) then sumOdd := sumOdd+1 else sumEven := sumEven+1 ;
   end;

打印结果当然应该你的循环之后。 祝你好运!