首页 > 解决方案 > 我在 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 但它说的是同样的事情。如果有人可以帮助我,我将非常感激。

标签: pascal

解决方案


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

结果变量的初始化

sumEven:=0;
sumOdd:=0;

应该你的for循环检查奇数/偶数之前

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

应该你的循环内,你不应该检查(你的输入数字)是否是奇数/偶数,而是你的循环变量的值:

for i := 1  to a do

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

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


推荐阅读