GPA计算器
(GPA =平均绩点)
在决赛周,你是一个压力很大的大学生。您无需决定即将进行的考试,而是决定最好在学期末确定将获得的GPA。这样,您就有数据来支持您熬夜决定在微积分中获得A而不是B保留在院长名单上的决定!
作为计算机科学专业的学生,您想找到一种确定该GPA的最酷方法。当然,最酷的方法是用最短的代码!这是代码高尔夫球,因此以字节为单位的最短代码胜出!
细节
- 您要去的大学使用基本的GPA和学分。
- A的字母等级为4.0,B为3.0,C为2.0,D为1.0,F为0.0
- 您的GPA是加权GPA,因此4个学分时级的A的数量是1个学分时级的A的4倍(请参见下面的示例以了解更多的体重说明)
- 学时从1-4
您的程序将需要包含两个命令行输入的列表,即成绩和学分。您可以确定通过命令行将它们输入到程序中的最佳方法。您无需担心输入过多,但是请确保您的代码可以处理19个学时的学期。
- 即输入:A 1 B 4 C 2…
您的程序必须使用3位数(即X.XX)输出GPA。
- 您的GPA需要四舍五入到小数点后两位。以您喜欢的任何方式(地板,天花板,底座等)四舍五入
输入示例(选择最适合您的设计的输入示例)
- A1B3C2F3B4
- A1 B3 C2 F3 B4
- A 1 B 3 C 2 F 3 B 4
- A,1,B,3,C,2,F,3,B,4
- A1,B3,C2,F3,B4
或以上任何一种组合,其中您使用列出所有成绩的格式,然后列出其学时:
- 即ABAA 3 4 1 1
例子
Input - A 3 B 4 A 1 A 1
Output - 3.56
Explanation: (4.0 * 3 + 3.0 * 4 + 4.0 * 1 + 4.0 * 1)/(3+4+1+1) = 3.555556 rounded off to 3.56
Input - A 4 F 2 C 3 D 4
Output - 2.00
Explanation: (4.0 * 4 + 0.0 * 2 + 2.0 * 3 + 1.0 * 4)/(4+2+3+4) = 2 rounded off to 2.00
2
@DevelopingDeveloper请尝试避免使用繁琐的I / O格式。
—
JungHwan Min
@JungHwanMin请让我知道您未指定的I / O选项吗?我提供了大约6种不同的灵活选项,但需要指定它才能真正适合这种情况。
—
DevelopingDeveloper
@DevelopingDeveloper
—
JungHwan Min
Your GPA needs to be rounded to two decimal places:要实现这一点,人们需要添加与GPA计算无关的其他代码。
欢迎来到PPCG。以我的拙见,很好的第一个问题。
—
ElPedro '17
尽管这是一个非常有趣的问题,但我还是投下了赞成票,因为正如我之前说过的那样,强制以舍入0进行舍入和输出使这成为一个多方面的挑战。答案是必须不必要地增加字节,只是为了符合输出规范,这将使挑战变得无聊且使整个IMO变得更糟。
—
caird coinheringaahing