伪代码输入年龄,计算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中输入的一系列数字的总和、算术平均值、最小值和最大值? [关闭]

excel怎样用SUMIF来计算平均年龄

07-SQLSERVER聚合函数

Java求个员工的年龄29,33,34,40的平均年龄和最大最小值

怎样在excel中算平均年龄

在 Java 中使用数组查找最小值、最大值和平均值