PTA 一 互评成绩
来源:互联网 发布:知峰竹纤维 编辑:程序博客网 时间:2024/04/29 19:41
学生互评作业的简单规则是这样定的:每个人的作业会被k
个同学评审,得到k
个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。
输入格式:
输入第一行给出3个正整数N
(3 < N
≤104,学生总数)、k
(3 ≤ k
≤10,每份作业的评审数)、M
(≤ 20,需要输出的学生数)。随后N
行,每行给出一份作业得到的k
个评审成绩(在区间[0, 100]内),其间以空格分隔。
输出格式:
按非递减顺序输出最后得分最高的M
个成绩,保留小数点后3位。分数间有1个空格,行首尾不得有多余空格。
输入样例:
6 5 388 90 85 99 6067 60 80 76 7090 93 96 99 9978 65 77 70 7288 88 88 88 8855 55 55 55 55
输出样例:
87.667 88.000 96.000
算法思路:排序……
#include<stdio.h>#include<algorithm>#include<vector>using namespace std;int main() {int n, k, m;scanf("%d%d%d", &n, &k, &m);int i, j;vector<float> scores;scores.reserve(k);for (i = 0; i<n; i++){vector<int> st;st.reserve(k);float sum = 0;for (j = 0; j<k; j++) {int x;scanf("%d", &x);sum += x;st.push_back(x);}sort(st.begin(), st.end());sum -= st[0] + st[k - 1];sum /= k - 2;scores.push_back(sum);}sort(scores.begin(), scores.end());i = n - m;printf("%.3f", scores[i++]);for (; i < n; i++) printf(" %.3f", scores[i]);return 0;}
0 0
- PTA 一 互评成绩
- PTA MOOC期终成绩
- PTA 一 抢红包
- PTA 一 排座位
- PTA 一 红色警报
- PTA 一 列车调度
- PTA 一 天梯地图
- PTA 一 喊山
- PTA 一 长城
- PTA 一 直捣黄龙
- PTA 一 水果忍者
- 互评成绩
- PTA
- PTA
- pta
- pta
- L2-015. 互评成绩
- L2-015. 互评成绩
- 2015-2016 没有直接参与的项目
- C语言指针
- 2017.3.16“药踪”团队第一次会面
- LCS
- HTTP中的MIME
- PTA 一 互评成绩
- c语言存储管理初谈
- 在cdb中启动和关闭pdb
- springmvc原理学习
- 用redis实现悲观锁(后端语言以php为例)
- TCP性能优化之避免大量握手
- keras.preprocessing.text 源码小bug
- 网站防盗图
- 获取鼠标点击事件