33,311
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<initializer_list>
double sum(std::initializer_list<double> il);
double average(const std::initializer_list<double> &ril);
int main()
{
using std::cout;
cout<<"List 1: sum= "<<sum({2,3,4})//这里有问题
<<",ave = "<<average({2,3,4})<<'\n';//这里也有问题,主要是构造函数初始化的问题。
std::initializer_list<double> dl={1.1,2.2,3.3,4.4,5.5};//这里也有问题
cout<<"List 2:sum= "<<sum(dl)
<<", ave = "<<average(dl)<<'\n';
dl={16.0,25.0,36.0,40.0,64.0};
cout<<"List 3:sum="<<sum(dl)
<<",ave= "<<average(dl)<<'\n';
return 0;
}
double sum(std::initializer_list<double> il)
{
double tot=0;
for(auto p=il.begin();p!=il.end();p++)
tot +=*p;
return tot;
}
double average(const std::initializer_list<double> & ril)
{
double tot=0;
int n=ril.size();
double ave=0.0;
if(n>0)
{
for(auto p=ril.begin();p!=ril.end();p++)
tot+=*p;
ave=tot/n;
}
return ave;
}