PAT1077互評成績計算(java實現)
題目描述:
在浙大的計算機專業課中,經常有互評分組報告這個環節。一個組上臺介紹自己的工作,其他組在臺下為其表現評分。最後這個組的互評成績是這樣計算的:所有其他組的評分中,去掉一個最高分和一個最低分,剩下的分數取平均分記為 G1;老師給這個組的評分記為 G2。該組得分為 (G1+G2)/2,最後結果四捨五入後保留整數分。本題就要求你寫個程式幫助老師計算每個組的互評成績。
-
輸入格式:
輸入第一行給出兩個正整數 N(> 3)和 M,分別是分組數和滿分,均不超過 100。隨後 N 行,每行給出該組得到的 N 個分數(均保證為整型範圍內的整數),其中第 1 個是老師給出的評分,後面 N−1 個是其他組給的評分。合法的輸入應該是 [0,M] 區間內的整數,若不在合法區間內,則該分數須被忽略。題目保證老師的評分都是合法的,並且每個組至少會有 3 個來自同學的合法評分。 -
輸出格式:
為每個組輸出其最終得分。每個得分佔一行。
解題思路:這道題貌似沒有什麼難的地方,就是常規的思路就能做出來,for迴圈遍歷後將符合條件的值加到sum中,之後sum減去最大最小值就是每組有效的分數。求出平均值後和老師的評分一起算出結果
易錯點:最後結果需要四捨五入,用java Math中的取整函式ceil即可完成,返回的是浮點型所以需要強制型別轉換一下。
程式:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String[] s1 = bf.readLine().split(" ");
int N = Integer.parseInt(s1[0]);
int M = Integer.parseInt(s1[1]);
for (int i = 0; i < N; i++) {
String[] s2 = bf.readLine().split(" ");
int G2 = Integer.parseInt(s2[0]);
int max=0,min=1000,sum=0,count=0;
double G1 = 0.0;
for (int j = 1; j < s2.length;j++) {
while(j!=s2.length&&Integer.parseInt(s2[j])>=0&&Integer.parseInt(s2[j])<=M){
if (Integer.parseInt(s2[j])>max) {
max = Integer.parseInt(s2[j]);
}
if (Integer.parseInt(s2[j])<min) {
min = Integer.parseInt(s2[j]);
}
//System.out.print(G2+"*");
//System.out.print(max+" "+min);
count++;
sum += Integer.parseInt(s2[j]);
break;
}
}
//System.out.print(sum+"&"+count);
G1 = (sum-max-min)/(count-2);
//System.out.println("@"+G1);
int result = (int) Math.ceil((G1+G2)/2);
System.out.println(result);
}
}
}
相關文章
- PAT乙級比賽-互評成績計算
- 演算法學習之路|互評成績計算演算法
- PAT-B 1077 互評成績計算【模擬】
- 【shell 】 使用 shell 計算成績
- 21.C++實現計算八個學生的平均成績C++
- PAT1004成績排名(java實現)Java
- jeefast實現科目成績查詢AST
- python運用——成績等級評定Python
- 團隊成員分工及績效評估
- 用case實現成績優良差的判斷
- 使用case實現成績優良差的判斷
- 按揭貸款的計算原理與java實現Java
- Java利用Scanner 加Swich實現計算器Java
- 表示式計算原始碼JAVA實現 (轉)原始碼Java
- 年報首提“雲與計算”:華為的“新基建”成績如何?
- Java實現評論回覆功能Java
- 【機器學習PAI實踐八】用機器學習演算法評估學生考試成績機器學習AI演算法
- 用java實現一個簡單的計算器Java
- Java+Eclipse+MySQL+Swing實現學生會考成績管理系統(免費完整專案)JavaEclipseMySql
- 成績單:Windows 7 - XP模式成績不及格Windows模式
- java 簡單工廠模式(實現一個計算器)Java模式
- 用RMI實現基於Java的分散式計算(轉)Java分散式
- 計算機組成原理 - 計算篇計算機
- Unicode編碼和中文互轉(JAVA實現)UnicodeJava
- 在Java中實現浮點數的精確計算 (轉)Java
- 團隊績效評估
- 拓撲學與物理學結合,量子計算機正在成為現實計算機
- excel按成績高低排名次 excel成績表怎麼排名次Excel
- 《全球計算力指數評估報告》:計算力緣何成為數字經濟風向標
- 在計算機組成原理中x,計算機組成原理計算機
- 兩行程式碼輕鬆讓 Java 實現大文字平行計算行程Java
- 大文字平行計算實現方式
- htmltest~計算器介面的實現HTML
- 計算幾何_向量的實現
- 【重學計算機】計算機組成原理計算機
- 雲端計算現在前景如何?怎麼轉型成為雲端計算工程師?工程師
- 把字串轉換成整數(Java實現)字串Java
- 計算機組成原理計算機