用c++实现vector容器的求和,要求自己输入
时间: 2024-10-16 13:10:07 浏览: 14
在C++中,你可以使用`std::accumulate`函数来对`std::vector`中的元素求和,这是一种简洁而直接的方式。假设你有一个整数类型的vector,例如`std::vector<int> numbers`,你可以按照以下步骤操作:
```cpp
#include <iostream>
#include <vector>
#include <numeric>
int main() {
// 创建一个vector并填充一些数字
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 输入提示用户
std::cout << "请输入元素之间用逗号分隔的数字,如 '1,2,3': ";
std::string input;
std::getline(std::cin, input);
// 将字符串转换为整数向量
std::vector<int> user_numbers{std::begin(input), std::end(input) - 1}; // 忽略末尾的换行符
numbers.insert(numbers.end(), user_numbers.begin(), user_numbers.end());
// 使用std::accumulate求和
int sum = std::accumulate(numbers.begin(), numbers.end(), 0); // 从0开始累加
std::cout << "向量的和是: " << sum << std::endl;
return 0;
}
```
在这个程序中,首先用户会看到一个提示输入一系列数字,然后程序将这些输入作为字符串处理,并转换成整数形式加入到`numbers`向量中。接着,`std::accumulate`函数会计算所有元素的总和。
阅读全文