求向量的平均值

时间:2019-02-10 19:36:09

标签: c++

我只是最近才开始编程,我已经完成了创建矢量的任务,要求用户输入输入值,然后将这些输入值附加到矢量上,然后取所输入值的平均值。

现在,我拥有的是这个

#include<vector>
#include<iostream>
#include<numeric>

using namespace std;

int main()
{
    vector<float> v;
    float input;

    cout << " Enter values" <<endl;
    while (cin >> input)
        v.push_back(input);

    float average = accumulate( v.begin(), v.end(), 0.0/v.size());
    cout << "The average is " << average <<endl;

    return 0;
}

我认为我正在计算平均值错误,因为当我测试平均值时,它只是将数字相加而不是找到平均值。我需要更改什么?

1 个答案:

答案 0 :(得分:3)

所以您把括号弄错了

float average = accumulate( v.begin(), v.end(), 0.0) / v.size();

不是

float average = accumulate( v.begin(), v.end(), 0.0/v.size());

您的版本的0.0/v.size()显然为零。相反,您想将accumulate的结果除以大小。