而不是打字
array[0] + array[1] //.....(and so on)
有没有办法将数组中的所有数字相加?我使用的语言是 c++,我希望能够用更少的输入来完成它,而不是我只是把它全部输入。
原文由 ShadowWesley77 发布,翻译遵循 CC BY-SA 4.0 许可协议
而不是打字
array[0] + array[1] //.....(and so on)
有没有办法将数组中的所有数字相加?我使用的语言是 c++,我希望能够用更少的输入来完成它,而不是我只是把它全部输入。
原文由 ShadowWesley77 发布,翻译遵循 CC BY-SA 4.0 许可协议
关于 std::accumulate 用法再添加一点:
将 C 样式 数组 传递给函数 时,您 std::accumulate
在 end
start
---
。
例子:
#include <numeric>
void outsideFun(int arr[], int n) {
int sz = sizeof arr / sizeof arr[0]; // 1=decays to a ptr to the 1st element of the arr
// int sum = accumulate(begin(arr), end(arr), 0); // Error:begin/end wouldn't work here
int sum = accumulate(arr, arr + n, 0); // 15 (Method 2 Only works!)
std::cout << sum;
}
int main() {
int arr[] = { 1,2,3,4,5 };
int sz = sizeof arr / sizeof arr[0]; // 5
int sum = accumulate(begin(arr), end(arr), 0); // 15 (Method 1 - works)
int cum = accumulate(arr, arr + sz, 0); // 15 (Method 2 - works)
outsideFun(arr, sz);
}
原文由 SridharKritha 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答473 阅读✓ 已解决
尝试这个: