如何确定某些数字的最大值和最小值以及平均值?

问题描述

计划目标:

编写一个程序,允许教师根据输入的成绩确定最低、最高和平均成绩。老师会不断输入成绩,直到指定哨兵。对于此示例,-1 的等级将用于表示已完成评分。然后应向教师显示最低、最高和平均成绩。本程序不应接受无效成绩[0,100]。

我附上了我的代码图片,请看一下。当我运行它时,它告诉我有一个错误

image

解决方法

让我们从底部开始向上走。
读数字

int number = 0;
while (std::cin >> number)
{
    if (number == -1) break;
}

总和
总和是每个数字的加法;无需将数字存储在容器中。

int number = 0;
int sum = 0;
while (std::cin >> number)
{
    if (number == -1) break;
    sum += number;
}

运行最大值
这个有点棘手。最大值希望成为输入的第一个值。

int number = 0;
int sum = 0;
int maximum = 0; // All variables should be initialized.
std::cin >> maximum;
sum = maximum;
if (maximum == -1)
{
    return 0;
}
while (std::cin >> number)
{
    if (number == -1) break;
    sum += number;
    if (number > maximum)
    {
        maximum = number;
    }
}

最小值和平均值的计算留给 OP 练习(你需要自己做一些工作)。

提示:平均值是 sum 除以输入的数字数量。请注意,平均值至少需要 1 个值,以便不会被零除(通常使用 3 个值作为平均值)。同样,这也不需要容器。

我在没有查看 OP 代码的情况下发布了此答案,因为 OP 最初发布了指向图像的链接,而防火墙阻止了该链接。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...