日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【简便解法】1077 互评成绩计算 (20分)_32行代码AC

發布時間:2024/2/28 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【简便解法】1077 互评成绩计算 (20分)_32行代码AC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

立志用更少的代碼做更高效的表達


Pat乙級最優化代碼+題解+分析匯總——>傳送門


在浙大的計算機專業課中,經常有互評分組報告這個環節。一個組上臺介紹自己的工作,其他組在臺下為其表現評分。最后這個組的互評成績是這樣計算的:所有其他組的評分中,去掉一個最高分和一個最低分,剩下的分數取平均分記為 G1;老師給這個組的評分記為 G2。該組得分為 (G1+G2)/2,最后結果四舍五入后保留整數分。本題就要求你寫個程序幫助老師計算每個組的互評成績。

輸入格式:
輸入第一行給出兩個正整數 N(> 3)和 M,分別是分組數和滿分,均不超過 100。隨后 N 行,每行給出該組得到的 N 個分數(均保證為整型范圍內的整數),其中第 1 個是老師給出的評分,后面 N?1 個是其他組給的評分。合法的輸入應該是 [0,M] 區間內的整數,若不在合法區間內,則該分數須被忽略。題目保證老師的評分都是合法的,并且每個組至少會有 3 個來自同學的合法評分。

輸出格式:
為每個組輸出其最終得分。每個得分占一行。

輸入樣例:
6 50
42 49 49 35 38 41
36 51 50 28 -1 30
40 36 41 33 47 49
30 250 -25 27 45 31
48 0 0 50 50 1234
43 41 36 29 42 29
輸出樣例:
42
33
41
31
37
39


思路分析

定義一個結構體, 分別存放每組 最大值、最小值、評分、老師評分、合法的評分數。 最后四舍五入輸出即可。

注意:不能用%.0lf表示四舍五入整數。需要加上1e-6的判定,形如:if((G+1e-6)-(int)G > 0.5) G += 1;
因為double變量在存儲時不時那么精確,3.5可能會被存儲成3.499999, 進行四舍五入時很可能被舍棄。 所以需要增加1e-6的范圍限定。 1e-6=10^-6


代碼

#include<bits/stdc++.h> using namespace std; struct group{int Max, Min, total;int teacher; //老師的分數 int yes_num; //合格的個數 }g[110]; int main() {int n, score; cin >> n >> score;for(int i = 0; i < n; i++) {for(int j = 0; j < n; j++) {int x; cin >> x;if(j == 0) {g[i].teacher = x;g[i].Max = -1; g[i].Min = 100;} else if(x <= score && x >= 0) {g[i].Max = max(x, g[i].Max);g[i].Min = min(x, g[i].Min);g[i].total += x;g[i].yes_num++;} }} for(int i = 0; i < n; i++) { // cout << g[i].total << ' ' << g[i].Max << ' ' << g[i].Min <<' ' << g[i].yes_num << '\n';double G1 = (double)(g[i].total-g[i].Max-g[i].Min)/(g[i].yes_num-2);double G = (double)((G1 + g[i].teacher) / 2.0);if((G+1e-6)-(int)G > 0.5) G += 1; //四舍五入的方法 printf("%d\n", (int)G);}return 0; }

耗時


每日一句

要活成兩種樣子,發光和不發光。不發光的時候,都是在為發光做準備~

總結

以上是生活随笔為你收集整理的【简便解法】1077 互评成绩计算 (20分)_32行代码AC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。