向量中元素的总和?

Sal*_*Sal 0 c++ sum vector

我如何找到用户输入的向量中元素的总和?我试图寻找一种方法可以在网上到处都可以找到,但是在网上找不到真正能很好地解释它的方法,也没有在课堂上解释得太多。

所以我基本上是在这里由用户输入的向量,但是我不知道如何使用它来求和?(仅存在printvector,因为在告诉用户总和之前,我必须向用户展示用户输入的内容)

#include <iostream>
#include <vector>
using namespace std;

void fillVector(vector<int>&);

void printVector(const vector<int>&);

int main()
{

vector<int> VectorQuantities;
fillVector(VectorQuantities);
printVector(VectorQuantities);

return 0;
}

void fillVector(vector<int>& newVectorQuantities)
{
cout << "Type in a list of numbers, and type in -1 as the last number when       you are finished: ";
int input;
cin >> input;

while (input != -1) {
    newVectorQuantities.push_back(input);
    cin >> input;
}
cout << endl;
}

void printVector(const vector<int>& newVectorQuantities) {

cout << "Vector: ";
for (unsigned int i=0; i < newVectorQuantities.size(); i++) {
    cout << newVectorQuantities[i] << " ";
}

cout << endl;
}
Run Code Online (Sandbox Code Playgroud)

Die*_*Epp 5

您可以使用std::accumulate()

#include <algorithm>
std::vector<int> vec = ...;
int vecSum = std::accumulate(std::begin(vec), std::end(vec), 0);
Run Code Online (Sandbox Code Playgroud)

accumulate()函数实际上只是一个左折,默认情况下,它使用该+函数来组合元素。