一:题目描述
平均学分绩点(Grade Point Average,即GPA)是以学分与绩点作为衡量学生学习的量与质的计算单位,以取得一定的学分和平均学分绩点作为毕业和获得学位的标准,实施多样的教育规格和较灵活的教学管理制度。
大学里每一门课程都有一定的学分。只有通过这门课的考试,才能获得相应的学分。课程绩点的计算方法通常是:(百分制成绩-50)/10 取整。成绩100,对应绩点为5,成绩90~99对应绩点为4,......,成绩60~69对应绩点为1,成绩小于60,对应绩点为0。
平均学分绩点的计算方法是:是将学生修过的每一门课程的绩点乘以该门课程的学分,累加后再除以总学分。 平均学分绩点可以作为学生学习能力与质量的综合评价指标之一。请编程计算一个学生的平均学分绩点。
二:输入
输入n表示有n门课程,然后输入n门课程的学分和成绩,学分和成绩都是整数。
三:输出
输出平均学分绩点,保留一位小数。
四:样例输入
3
2 95
3 85
5 75
五:样例输出
2.7
六:代码
#include<stdio.h>
int Average_Cr_Ac(int cr, int ac )
{
if (ac < 60)
{
return 0;
}
else
{
int x = (ac - 50) / 10;
int y = cr * x;//求每一门课程的绩点乘以该门课程的学分
return y;
}
}
int main()
{
int n = 0;
scanf("%d",&n);
int credit = 0;//学分初始化
int achievement = 0;//成绩初始化
int i = 0;
int ass_cr = 0;//总学分初始化
int ass_num = 0; //初始化每一门课程的绩点乘以该门课程的学分
for ( i = 0; i < n; i++)
{
scanf("%d %d", &credit, &achievement);
int num = Average_Cr_Ac(credit, achievement);
ass_num = ass_num + num;//求每一门课程的绩点乘以该门课程的学分的和
ass_cr = ass_cr + credit;//求总学分
}
printf("%.1lf", ass_num * 1.0 / ass_cr);
return 0;
}