码迷,mamicode.com
首页 > 其他好文 > 详细

HDU-1202-The calculation of GPA(恶心水题)

时间:2015-04-03 09:20:59      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:hdu   恶心水果   java   浮点型   分数为小数类型   

The calculation of GPA

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 21967    Accepted Submission(s): 5046


Problem Description
每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的。国外大学都是计算GPA(grade point average) 又称GPR(grade point ratio),即成绩点数与学分的加权平均值来代表一个学生的成绩的。那么如何来计算GPA呢? 

一般大学采用之计分法 

A90 - 100 4 点 
B80 - 89 3 点 
C70 - 79 2 点 
D60 - 69 1 点 
E0 - 59 0 点 

例如:某位学生修习三门课,其课目、学分及成绩分别为: 
英文:三学分、92 分;化学:五学分、80 分;数学:二学分、60分,则GPA的算法如下: 

科目 学分 分数 点数 分数×点数 
英文  3    92    4     12
化学  5    80    3     15
数学  2    60    1      2
合计  10   29 
29/10=2.9 
2.9即为某生的GPA 
下面有请你写一个用于计算GPA的程序。
 

Input
包含多组数据,每组数据的第一行有一个数N,接下来N行每行表示一门成绩。每行有两个实型的数 s,p,s表示这门课的学分,p表示该学生的成绩(百分制)。如果p=-1则说明该学生这门课缺考,是不应该计算在内的。
 

Output
对每组数据输出一行,表示该学生的GPA,保留两位小数。如果GPA不存在,输出-1。
 

Sample Input
3 3 92 5 80 2 60
 

Sample Output
2.90
 

Author
Speakless
 

Source
 

Recommend
JGShining   |   We have carefully selected several similar problems for you:  1205 1219 1196 1234 1228 


 Wa了十遍才过,不是说这题有多难,因为他么,这就是一个水果,只是这个水果很恶心.各位a友注意细节.


1.如果全部缺考输出-1.
2.学分,分数什么的统统用浮点数(我会告诉你我wa了十遍是因为没有判断分数可能为分数吗技术分享)

3.GPA计算方法=(分数*点数的和)/(学分和)

4.如果缺考学生小于全部那么 缺考 就相当于这门课 没有,也就是缺考不会拉低总的GPA.

import java.io.*;
import java.util.*;

public class Main
{

	public static void main(String[] args)
	{
		Scanner input = new Scanner(System.in);
		while (input.hasNext())
		{
			int n = input.nextInt();
			double s[] = new double[n]; 				// 记录这门课的学分
			double p[] = new double[n];				// 记录这门课的成绩
			double G[] = new double[n]; 				// 记录这个学生的点GPA
			double product[] = new double[n]; 			// 记录分数*点数
			double sum1 = 0f, sum2 = 0f; 				// sum1记录学分和sum2记录乘积的和
            for(int i=0;i<n;i++)
            {
            	s[i]=input.nextDouble();
            	p[i]=input.nextDouble();
            	if(p[i]!=-1)
          		sum1+=s[i];
            }
            for(int i=0;i<n;i++)
            {
            	if(p[i]>=90&&p[i]<=100)
            		product[i]=s[i]*4.0;
            	if(p[i]>=80&&p[i]<90)
            		product[i]=s[i]*3.0;
            	if(p[i]>=70&&p[i]<80)
            		product[i]=s[i]*2.0;
            	if(p[i]>=60&&p[i]<70)
            		product[i]=s[i]*1.0;
            	if(p[i]>=0&&p[i]<60)
            		product[i]=s[i]*0.0;
            	
            	if(p[i]!=-1)
            		sum2+=product[i];
            }
                      
            if(sum1==0)
            {
            	System.out.print("-1");
            }
            else
            {
            	System.out.printf("%.2f",sum2/sum1);
            }
        	System.out.println();
		}
	}

}

 

HDU-1202-The calculation of GPA(恶心水题)

标签:hdu   恶心水果   java   浮点型   分数为小数类型   

原文地址:http://blog.csdn.net/qq_16542775/article/details/44840047

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!