我只是最近才开始编程,我已经完成了创建矢量的任务,要求用户输入输入值,然后将这些输入值附加到矢量上,然后取所输入值的平均值。
现在,我拥有的是这个
#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;
}
我认为我正在计算平均值错误,因为当我测试平均值时,它只是将数字相加而不是找到平均值。我需要更改什么?
答案 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
的结果除以大小。