头文件:<numeric>
累加求和
sum = accumulate(vec.begin() , vec.end() , num);
vec.begin:累加的元素起始地址
vec.end:累加的元素结束地址
num:累加的初值(通常为0)
#include<iostream>
#include<numeric>//accumulate函数在这个库中定义
using namespace std;
int main() {
int list[10] = { 1,2,3,4,5,6,7,8,9,10 };
int sum= accumulate(list, list+10, 0) ;
cout <<"和:"<<sum<<endl;
return 0;
}
输出结果:
计算连乘积
sum = accumulate(vec.begin() , vec.end() , num,multiplies<int>());
vec.begin:连乘的元素起始地址
vec.end:连乘的元素结束地址
num:连乘的初值(通常为1)
#include<iostream>
#include<numeric>//accumulate函数在这个库中定义
using namespace std;
int main() {
int list[10] = { 1,2,3,4,5,6,7,8,9,10 };
int con_product = accumulate(list, list + 3, 1, multiplies<int>());
cout<<"连乘积:"<<con_product<<endl;
return 0;
}
输出结果:
字符串合并
string a_sum=accumulate(a.begin(), a.end(),string("out: "))
#include<iostream>
#include<numeric>//accumulate函数在这个库中定义
#include<string>//包含这个库,可以直接输出字符串
#include<vector>//vector是向量类型,可容纳许多类型的数据,因此也被称为容器
using namespace std;
int main() {
//功能一:求和
int list[10] = { 1,2,3,4,5,6,7,8,9,10 };
vector<string>a{"1","-2345","+6"};
string a_sum=accumulate(a.begin(), a.end(),string("out: "));
cout<<"string合并后输出:"<<a_sum<<endl;
return 0;
}
输出结果:
out: 1-2345+6