题解 | #公务员面试#
公务员面试
https://www.nowcoder.com/practice/f3a134908d5b41869f14f58307008a97
#include <algorithm> #include <iomanip> #include <iostream> #include <numeric> #include <list> using namespace std; void calc_aver(list<int> &q1) { q1.sort();//可以使用仿函数或者谓词,仿函数由于创建对象需加()谓词和外部函数调用直接用函数名 q1.pop_back(); q1.pop_front(); int sum = accumulate(q1.begin(), q1.end(), 0); float aver = float(sum)/(q1.size()); cout << setprecision(2)<<fixed<<aver<<endl; } int main() { list<int> q1; int grade,num=0; while (cin >> grade) { num++; q1.push_back(grade); if (grade=='\n'||num==7) { calc_aver(q1); q1.clear(); num=0; } } } // 64 位输出请用 printf("%lld")