C++ 中如何求和
C++ 提供了多种内置函数和容器方法来计算数组、向量或列表中元素的总和。
内置函数
accumulate()
:用于计算一系列数值的总和。它接受一个迭代器范围和一个可选的初始值,并返回总和。
<code class="cpp">#include <numeric> #include <iostream> int mAIn() { int arr[] = {1, 3, 5, 7, 9}; int sum = std::accumulate(arr, arr + 5, 0); std::cout </iostream></numeric></code>
sum()
:这是accumulate()
的缩写版本,它采用容器作为输入,并返回总和。
<code class="cpp">#include <vector> int main() { std::vector<int> vec = {1, 3, 5, 7, 9}; int sum = std::sum(vec); std::cout </int></vector></code>
容器方法
std::vector::accumulate()
:类似于std::accumulate()
,但专门为std::vector
容器设计。std::vector::sum()
:返回容器中所有元素的总和,与std::sum()
类似。
示例
<code class="cpp">#include <vector> int main() { std::vector<int> vec = {1, 3, 5, 7, 9}; int sum = std::accumulate(vec.begin(), vec.end(), 0); std::cout </int></vector></code>
注意事项
- 对于可能产生溢出的非常大或非常小的数字,请考虑使用
long long
或其他大整数类型。 - 对于空容器或范围,总和函数将返回初始值(通常为 0)。