我在 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;
打印结果当然应该在你的循环之后。
祝你好运!
我的 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;
打印结果当然应该在你的循环之后。 祝你好运!