问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:崔青青
*完成日期:2016年6月3日
*版 本 号:v1.0
*问题描述:
*输入描述:无
*输出描述:无
*/
#include<algorithm>
#include<functional>
#include<numeric>
#include<vector>
#include<iostream>
#include<iterator>
using namespace std;
int main()
{
int a[]={1,4,7,2,5,8};
int b[]={1,2,3,3,2,1};
const int ASZ=sizeof a/sizeof a[0];
const int BSZ=sizeof b/sizeof b[0];
ostream_iterator<int>out(cout," ");
copy(a,a+ASZ,out);
cout<<endl;
copy(b,b+BSZ,out);
cout<<endl;
int r;
r=accumulate(a,a+ASZ,0);
cout<<"accumulate 1:"<<r<<endl;
r=accumulate(b,b+ASZ,0,plus<int>());
cout<<"accumulate 2:"<<r<<endl;
r=inner_product(a,a+ASZ,b,0);
cout<<"inner_product:"<<r<<endl;
int *it=partial_sum(a,a+ASZ,b);
copy(b,it,out);
cout<<endl;
it=adjacent_difference(a,a+ASZ,b);
copy(b,it,out);
cout<<endl;
}
运行结果:
知识点总结:
知识点:输出迭代器、算法copy、accumulate,指针。
学习心得:
这个程序比较复杂,不懂的地方可以查手册或百度。