伪代码输入年龄,计算java的最大值和平均值
Posted
技术标签:
【中文标题】伪代码输入年龄,计算java的最大值和平均值【英文标题】:pseudocode input age, calculate max and average for java 【发布时间】:2017-01-26 11:18:11 【问题描述】:编写一个伪代码算法,它将输入一系列人的 年龄(作为 1 到 120 之间的整数)并计算最大值和平均值 年龄。平均年龄应按实数计算。你的算法应该 继续输入年龄值,直到用户输入零值。这是一个信号 算法停止输入年龄,然后输出平均年龄和最大年龄。如果 用户输入的年龄无效,那么您的算法应继续重新提示 用户,直到他们输入有效年龄。您的算法应该充分利用子模块。 注意在确定平均或最大年龄时不应包括零。
这是我的练习题
我想出了
main
FOR
age = inputAge <-prompt "enter age"
max = getMax <- age
sum = sum + age
average = getAverage <- sum, number of times input
END FOR
OUTPUT max, average
END MAIN
METHOD inputAge
IMPORT prompt
EXPORT age
INPUT age
WHILE age >= 120 AND age <= 0 DO
OUTPUT "enter valid age"
INPUT age
END WHILE
END
METHOD getMax
IMPORT age
EXPORT max
IF max < 0 THEN
max = age
END
METHOD getAverage
IMPORT sum, number of times input
EXPORT average
average = sum / number of times input
END
我的问题是我不太确定如何输入 1 到 120 并在输入 0 时停止循环并获取输入次数,以便我可以计算平均值。 main 中的 for 循环也是一个问题。我明白了这个问题在问什么,但它只是没有在我的脑海中聚集在一起。我可以就这个问题寻求帮助吗?
【问题讨论】:
【参考方案1】:嗯,对于初学者来说,在收集所有输入并保存直到那时的最大值作为最大值之后计算平均值要简单得多。因此,将总和和最大值设置为 0 并创建一个变量来计算输入的数量将是一个不错的开始。我会这样做:
main
max = 0
sum = 0
count = 0
WHILE true
age = inputAge <-prompt "enter age"
IF age == 0 THEN
BREAK
END IF
IF age > max THEN
max = age
END IF
sum = sum + age
count = count + 1
END WHILE
average = getAverage <- sum, count
IF count == 0 THEN
OUTPUT "There was no input"
ELSE
OUTPUT max, average
END IF
END MAIN
METHOD inputAge
IMPORT prompt
EXPORT age
INPUT age
WHILE age >= 120 AND age <= 0 DO
OUTPUT "enter valid age"
INPUT age
END WHILE
END
METHOD getAverage
IMPORT sum, number of times input
EXPORT average
average = sum / number of times input
END
【讨论】:
以上是关于伪代码输入年龄,计算java的最大值和平均值的主要内容,如果未能解决你的问题,请参考以下文章
计算用户在Java中输入的一系列数字的总和、算术平均值、最小值和最大值? [关闭]