如何在C++中获得平均值?

tob*_*ats 28 c++

我有一个阅读文件并输出平均考试成绩的作业.

这很简单,但我不喜欢平均值是如何完成的.

average = (test1 + test2 + test3 + test4 + test5) / 5.0;
Run Code Online (Sandbox Code Playgroud)

有没有办法让它除以测试分数?我在书中或谷歌找不到这样的东西.就像是

average = (test + test + test + test) / ntests;
Run Code Online (Sandbox Code Playgroud)

Cha*_*via 56

如果您有向量或数组中的值,只需使用std::accumulatefrom <numeric>:

std::vector<double> vec;
// ... fill vec with values (do not use 0; use 0.0)
double average = std::accumulate(vec.begin(), vec.end(), 0.0) / vec.size();
Run Code Online (Sandbox Code Playgroud)