我如何找到用户输入的向量中元素的总和?我试图寻找一种方法可以在网上到处都可以找到,但是在网上找不到真正能很好地解释它的方法,也没有在课堂上解释得太多。
所以我基本上是在这里由用户输入的向量,但是我不知道如何使用它来求和?(仅存在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)
您可以使用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()函数实际上只是一个左折,默认情况下,它使用该+函数来组合元素。
| 归档时间: |
|
| 查看次数: |
2851 次 |
| 最近记录: |