求一个vector前20项的和
时间: 2023-11-10 13:05:10 浏览: 54
很高兴为您解答这个问题!如果您的vector是一个整数类型的vector,您可以使用以下代码来求前20项的和:
```c++
#include <iostream>
#include <vector>
#include <numeric> //需要包含numeric头文件
using namespace std;
int main()
{
vector<int> vec; //声明一个整数类型的vector
//向vector中添加元素
for(int i=1; i<=30; i++)
{
vec.push_back(i);
}
//求前20项的和
int sum = accumulate(vec.begin(), vec.begin()+20, 0);
cout << "前20项的和为:" << sum << endl;
return 0;
}
```
如果您的vector是一个浮点数类型的vector,您可以使用以下代码来求前20项的和:
```c++
#include <iostream>
#include <vector>
#include <numeric> //需要包含numeric头文件
using namespace std;
int main()
{
vector<double> vec; //声明一个浮点数类型的vector
//向vector中添加元素
for(int i=1; i<=30; i++)
{
vec.push_back(i+0.1); //添加一个小数部分为0.1的浮点数
}
//求前20项的和
double sum = accumulate(vec.begin(), vec.begin()+20, 0.0);
cout << "前20项的和为:" << sum << endl;
return 0;
}
```
注意,对于浮点数类型的vector,accumulate函数的最后一个参数需要传入0.0,而不是0。这是因为0是整数类型,而我们需要对浮点数类型进行累加,因此需要传入0.0。
阅读全文