C++有没有对于数组的求和函数
时间: 2024-01-03 13:04:05 浏览: 44
是的,有求和函数可以对数组进行求和。以下是一个简单的C代码示例:
```
#include <stdio.h>
int sum(int arr[], int n) {
int result = 0;
for (int i = 0; i < n; i++) {
result += arr[i];
}
return result;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr)/sizeof(arr[0]);
int total = sum(arr, n);
printf("The sum of the array is %d", total);
return 0;
}
```
在这个示例中,sum函数接受一个整数数组和数组中的元素数。函数使用循环遍历数组并将每个元素添加到一个结果变量中,最后返回结果。在主函数中,我们定义一个整数数组并将其传递给sum函数。函数返回的总和被存储在total变量中,并在控制台上打印出来。
相关问题
c++中数组求和的函数
以下是C语言中求和数组的函数示例:
```c
#include <stdio.h>
int sum(int arr[], int size) {
int result = 0;
for (int i = 0; i < size; i++) {
result += arr[i];
}
return result;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int result = sum(arr, size);
printf("The sum of the array is %d\n", result);
return 0;
}
```
该函数定义了一个数组和其大小作为参数,并使用一个循环来将数组中的所有元素相加。最后,该函数返回总和。在主函数中,我们定义了一个整数数组和其大小,然后调用sum函数,并输出结果。
编写一个类模板对数组元素进行遍历输出,数组求和的函数程序
好的,下面是对应的类模板和函数程序:
```c++
#include <iostream>
#include <numeric>
template<typename T, size_t N>
class Array {
private:
T data[N];
public:
Array(std::initializer_list<T> list) {
std::copy(list.begin(), list.end(), data);
}
void print() {
for (size_t i = 0; i < N; ++i) {
std::cout << data[i] << " ";
}
std::cout << std::endl;
}
T sum() {
return std::accumulate(data, data + N, static_cast<T>(0));
}
};
int main() {
Array<int, 5> a{1, 2, 3, 4, 5};
a.print();
std::cout << "sum = " << a.sum() << std::endl;
return 0;
}
```
这里使用了类模板 `Array` 对数组进行操作,其中:
- 构造函数使用了 C++11 新特性中的 `std::initializer_list`,允许使用花括号 `{}` 进行数组初始化;
- `print()` 函数使用循环对数组元素进行遍历输出;
- `sum()` 函数使用了 `<numeric>` 头文件中的 `std::accumulate` 函数,对数组求和。
在主函数中,我们实例化了一个 `Array<int, 5>` 类型的数组,使用 `print()` 和 `sum()` 函数分别进行遍历输出和求和,并输出结果。