pascal - 我在 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
循环检查奇数/偶数之前
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;
打印结果当然应该在你的循环之后。祝你好运!
推荐阅读
- angular - 是否可以使用 ng.probe 获取/设置环境变量?
- bash - Bash 脚本,命令结束后更新输出
- javascript - If a PHP server script calls a javascript file with a secret key is it exposed?
- python - Averaging filter in image processing
- date - IBM DataStage, for Date Column, all rows failed to inserted after 0 replace it with a Default value
- c - C 中的泰勒级数(sin(240) 和 sin(300) 的问题)
- r - 使用 as.Date 和 as_date 将 `dttm` 转换为 `date` 格式会在 R 中给出不同的结果
- json - 尽管文件存在于上述目录中,为什么我没有收到此类文件或目录错误?
- java - 全局运行 Maven 插件
- dialogflow-es - 在 agentId 的平台响应中找不到 RichResponse 或 SystemIntent: