在C 中找到平均值(平均)

Finding the Mean (Average) in C++

本文关键字:平均 平均值      更新时间:2023-10-16

关于程序

该程序应该从提供的用户输入(初始值和最大值)中生成数字,以生成这些值中范围的数字列表。完成后,该程序需要显示显示的所有数字之间的平均值。

我的代码

#include <iostream>
int main(void)
{
    unsigned int INITIAL_VALUE;
    unsigned int MAX_VALUE;
    std::cout << "nnnStarting value: ";
    std::cin >> INITIAL_VALUE;
    std::cout << "nValue to count to: ";
    std::cin >> MAX_VALUE;
    std::cout << "n";
    while(INITIAL_VALUE <= MAX_VALUE)
    {
        ++INITIAL_VALUE;
        std::cout << INITIAL_VALUE << ", ";
    }
    // Code to output the average goes here
    std::cin.get();
    std::cin.get();
}

i当然是为了解决这个问题,但我什至无法将自己的解释缠住。我知道通过简单地添加所有数字,然后除以数字数量来找到平均值(平均)数字;但是,我想不出一种将这种简单方程式转移到C 语法中的方法。详尽的解释将不胜感激,并感谢所有人提前。

#include <iostream>
int main(void)
{
    unsigned int INITIAL_VALUE;
    unsigned int MAX_VALUE;
    unsigned int sum  = 0;
    unsigned int count;
    double average;
    std::cout << "nnnStarting value: ";
    std::cin >> INITIAL_VALUE;
    std::cout << "nValue to count to: ";
    std::cin >> MAX_VALUE;
    std::cout << "n";
    count = MAX_VALUE - INITIAL_VALUE + 1;
    while(INITIAL_VALUE <= MAX_VALUE)
    {
        sum += INITIAL_VALUE;
        ++INITIAL_VALUE;
        std::cout << INITIAL_VALUE << ", ";
    }
    // Code to output the average goes here
    average = 1.0 * sum / count;
    std::cin.get();
    std::cin.get();
}

您做错了什么是您没有跟踪所有值的总和。然后,您可以将其除以获得平均值的值数量。所以while循环部分应该像

double sum = 0.0;
int n = MAX_VALUE - INITIAL_VALUE + 1;
while(INITIAL_VALUE <= MAX_VALUE)
{
    sum += INITIAL_VALUE;
    ++INITIAL_VALUE;
    std::cout << INITIAL_VALUE << ", ";
}
double average = sum/n;