HDOJ 1202 The calculation of GPA
Problem Description
每學(xué)期的期末,大家都會忙于計(jì)算自己的平均成績,這個(gè)成績對于評獎學(xué)金是直接有關(guān)的。國外大學(xué)都是計(jì)算GPA(grade point average) 又稱GPR(grade point ratio),即成績點(diǎn)數(shù)與學(xué)分的加權(quán)平均值來代表一個(gè)學(xué)生的成績的。那么如何來計(jì)算GPA呢?
一般大學(xué)采用之計(jì)分法
A90 - 100 4 點(diǎn)
B80 - 89 3 點(diǎn)
C70 - 79 2 點(diǎn)
D60 - 69 1 點(diǎn)
E0 - 59 0 點(diǎn)
例如:某位學(xué)生修習(xí)三門課,其課目、學(xué)分及成績分別為:
英文:三學(xué)分、92 分;化學(xué):五學(xué)分、80 分;數(shù)學(xué):二學(xué)分、60分,則GPA的算法如下:
科目 學(xué)分 分?jǐn)?shù) 點(diǎn)數(shù) 分?jǐn)?shù)×點(diǎn)數(shù)
英文 3 92 4 12
化學(xué) 5 80 3 15
數(shù)學(xué) 2 60 1 2
合計(jì) 10 29
29/10=2.9
2.9即為某生的GPA
下面有請你寫一個(gè)用于計(jì)算GPA的程序。
Input
包含多組數(shù)據(jù),每組數(shù)據(jù)的第一行有一個(gè)數(shù)N,接下來N行每行表示一門成績。每行有兩個(gè)實(shí)型的數(shù) s,p,s表示這門課的學(xué)分,p表示該學(xué)生的成績(百分制)。如果p=-1則說明該學(xué)生這門課缺考,是不應(yīng)該計(jì)算在內(nèi)的。
Output
對每組數(shù)據(jù)輸出一行,表示該學(xué)生的GPA,保留兩位小數(shù)。如果GPA不存在,輸出-1。
Sample Input
3
3 92
5 80
2 60
Sample Output
2.90
注意:成績和學(xué)分都可以是小數(shù)的!!!
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){int n=sc.nextInt();double a[][] = new double[n+1][3];for(int i=0;i<n;i++){a[i][0]=sc.nextDouble();a[i][1]=sc.nextDouble();}a[n][0]=0;a[n][2]=0;for(int i=0;i<n;i++){if(a[i][1]>=0&&a[i][1]<60){a[i][2]=0;a[n][0]=a[i][0]+a[n][0];a[n][2]=(a[i][2]*a[i][0])+a[n][2];//System.out.println(a[n][2]);}else if(a[i][1]>=60&&a[i][1]<70){a[i][2]=1;a[n][0]=a[i][0]+a[n][0];a[n][2]=(a[i][2]*a[i][0])+a[n][2];//System.out.println(a[n][2]+"60-70");}else if(a[i][1]>=70&&a[i][1]<80){a[i][2]=2;a[n][0]=a[i][0]+a[n][0];a[n][2]=(a[i][2]*a[i][0])+a[n][2];//System.out.println(a[n][2]+"70-80");}else if(a[i][1]>=80&&a[i][1]<90){a[i][2]=3;a[n][0]=a[i][0]+a[n][0];a[n][2]=(a[i][2]*a[i][0])+a[n][2];//System.out.println(a[n][2]);}else if(a[i][1]>=90&&a[i][1]<=100){a[i][2]=4;a[n][0]=a[i][0]+a[n][0];a[n][2]=(a[i][2]*a[i][0])+a[n][2];//System.out.println(a[n][2]);}}//System.out.println(a[n][0]);//System.out.println(a[n][2]);if(a[n][0]==0){System.out.println(-1);}else{System.out.printf("%.2f",a[n][2]/a[n][0]);System.out.println();}}}}轉(zhuǎn)載于:https://www.cnblogs.com/webmen/p/5739328.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的HDOJ 1202 The calculation of GPA的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu1032 Train Proble
- 下一篇: 153. Find Minimum in