ACM--AOJ计算GPA

版权声明:本文为博主原创文章,未经博主允许不得转载。可联系邮箱[email protected] https://blog.csdn.net/Justin_bibo/article/details/79781870

问题

上学期面对繁重的课程和考试,TYF终于考完了。成绩出来之后,TYF想看一下GPA(Grade Point Average,平均成绩点数)是多少,之后他熟练的打开了教务处,看到绩点显示0.00,他丝毫没有感到吃惊,他知道教务处又出现问题了。之后TYF决定自己写一个程序来计算自己的GPA。想必大家都知道GPA如何计算的,就是加权平均数。计算方式如下:
例如某学生的五门课程的学分和他所获得的绩点为:
A课程四个学分,绩点4;
B课程三个学分,绩点3;
C课程两个学分,绩点4;
D课程六个学分,绩点2;
E课程三个学分,绩点3。
以上五项成绩GPA为:
GPA=(4*4+3*3+2*4+6*2+3*3)/(4+3+2+6+3)=3.00
现在让你帮助TYF完成这项任务。

输入

多组输入,EOF结束
对于每组输入,第一行一个整数n (1<=n<=40),表示课程的数目。
接下来n行,每行两个数,一个整数ai(1<=ai<=10)表示一门课的学分,一个浮点数bi(0<=bi<=4.00),表示一门课的绩点。

输出

对于每组输入,输出一行, 为平均成绩点数(保留两位小数)。

代码

#include<stdio.h>
int main()
{
    float g,a,sum,fenzi;
    int n,i;
    while(~scanf("%d",&n))
    {
        sum=0;
        fenzi=0;
        while(n--)
        {
            scanf("%f %f",&g,&a);
            sum=sum+g;
            fenzi=fenzi+g*a;
        }
        printf("%.2f\n",fenzi/sum);
    }
    return 0;

}

猜你喜欢

转载自blog.csdn.net/Justin_bibo/article/details/79781870
GPA