作者AstralBrain (妄想制御)
看板C_and_CPP
标题Re: [问题] 用C++写程式
时间Tue Dec 15 20:08:25 2009
※ 引述《asdf12345 (= =!!)》之铭言:
: : 5.利用某一回圈叙述输入20个整数,计算输入的整数有多少个奇
: : 数,有多少个偶数,这些奇数或偶数的总合与平均值又各为多少
: : ?
第五题:
我只做了偶数部份 奇数就请你自己想办法吧
#include<iostream>
#include<algorithm>
#include<numeric>
using namespace std;
int main() {
int a[20];
for(auto i=0; i<20; i++) cin >> a[i];
auto f = [](int x){return !(x&1);};
cout << count_if(a, a+20, f) << "个偶数" << endl;
cout << "总和: "
<< accumulate(a, a+20, 0, [f](int x, int y){return f(y)?x+y:x;})
<< endl;
cout << "平均: "
<< accumulate(a, a+20, 0, [f](int x, int y){return f(y)?x+y:x;}) /
(double)count_if(a, a+20, f)
<< endl;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.32
1F:推 ledia:good 12/15 20:57
2F:推 sunneo:真赞 12/15 21:03
3F:→ karcher:STL愈来愈方便了~~~ 赞 12/15 21:12
4F:→ jazy6804:好多没看过的指令= =~谢谢大大的范例我会参考的 12/15 21:15
5F:推 VictorTom:for下面 auto 那行的用法小弟还真的第一次看过Q_Q~ 12/15 22:03
6F:→ sunneo:是lambda expression 12/15 22:21
7F:推 flashphp:原po快哭了 XD 12/16 13:29
8F:推 Rukawa31:从来没看过这种写法 cool 12/17 12:58