學生互評作業的簡單規則是這樣定的:每個人的作業會被k個同學評審,得到k個成績。系統需要去掉乙個最高分和乙個最低分,將剩下的分數取平均,就得到這個學生的最後成績。本題就要求你編寫這個互評系統的算分模組。
輸入格式:
輸入第一行給出3個正整數n(3< n <= 100000,學生總數)、k(3<= k <= 10,每份作業的評審數)、m(<= 20,需要輸出的學生數)。隨後n行,每行給出乙份作業得到的k個評審成績(在區間[0, 100]內),其間以空格分隔。
輸出格式:
按非遞減順序輸出最後得分最高的m個成績,保留小數點後3位。分數間有1個空格,行首尾不得有多餘空格。
輸入樣例:
6 5 3
88 90 85 99 60
67 60 80 76 70
90 93 96 99 99
78 65 77 70 72
88 88 88 88 88
55 55 55 55 55
輸出樣例:
87.667 88.000 96.000
解題思路:這題可以用陣列解,每個人的測評最低總分為0分,最高10*100=1000,可以申請乙個1001個空間,下標代表總分數,陣列中存放該分數的人數,從後往前遍歷,因為分數是遞減而題目是遞增所以可以遍歷時存入棧中,然後輸出。
#include
#include
#include
#include
#include
using
namespace
std;
int main(void)
;stack
st;
cin>>n>>k>>m;
for(int i=0;iint k,m=0;int max1=0,min1=100;
for(int j=0;jcin>>k;
if(k>max1) max1=k; //找出最高分
if(k//找出最低分
m=m+k;
}m=m-max1-min1; //除去最高分和最低分
a[m]++; //該分數人數加1
}int m=1000;
while(tif(a[m]!=0)
else
m--;
}for(int i=0;idouble m=st.top();
printf("%.3f%c",m,i==m-1?'\n':' ');
st.pop(); //出棧
}return
0;}
L2 015 互評成績
時間限制 250 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 學生互評作業的簡單規則是這樣定的 每個人的作業會被k個同學評審,得到k個成績。系統需要去掉乙個最高分和乙個最低分,將剩下的分數取平均,就得到這個學生的最後成績。本題就要求你編寫這個互...
L2 015 互評成績
時間限制 250 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越學生互評作業的簡單規則是這樣定的 每個人的作業會被k個同學評審,得到k個成績。系統需要去掉乙個最高分和乙個最低分,將剩下的分數取平均,就得到這個學生的最後成績。本題就要求你編寫這個互評...
L2 015 互評成績
時間限制 250 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 學生互評作業的簡單規則是這樣定的 每個人的作業會被k個同學評審,得到k個成績。系統需要去掉乙個最高分和乙個最低分,將剩下的分數取平均,就得到這個學生的最後成績。本題就要求你編寫這個互...