描述
每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的。国外大学都是计算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的程序。
输入
包含多组数据,每组数据的第一行有一个数N,接下来N行每行表示一门
#include <stdio.h>
int main()
{
int n,t,i;
float sum,s,p,m,k;
while(~scanf("%d",&n))
{
sum=0.0;
m=0.0;
for(i=1;i<=n;i++)
{
scanf("%f %f",&s,&p);
if(p>=90)
t=4;
else if(p>=80)
t=3;
else if(p>=70)
t=2;
else if(p>=60)
t=1;
else
t=0;
if(p>=0)
{
m+=s;
sum+=s*t;
}
else if(p==-1)
{
sum=sum;
m=m;
}
}
k=sum/m*1.0;
if(m==0)
printf("-1\n");
else
printf("%.2f\n",k);
}
return 0;
}