7-10 计算多门课的平均绩点。
分数 10 作者 zhl 单位 沧州交通学院
学分是衡量学生学习的数量单位,平均学分绩点(GPA,Grade Point Average)是衡量学生学习质量的指标。
平均学分绩点的计算方法:
平均学分绩点=Σ(课程绩点×课程学分)/Σ课程学分
成绩分值和绩点对应关系
百分制 | 绩点 |
---|---|
60及以上 | 成绩/10-5 |
低于60 | 0 |
百分制 | 绩点 |
---|---|
60及以上 | 成绩/10-5 |
低于60 | 0 |
输入格式:
输入一个整数n代表课程数量,n>0
依次输入课程成绩和学分,用整数表示
其中成绩最低0分,最高100分,学分最低1分,最高5分
输出格式:
课程数量不大于0,输出“input error”
成绩值错误,输出“grad error”
学分值错误,输出“credit error”
没有错误,输出“GPA is x”,其中x为计算所得GPA值,保留2位小数
输入样例1:
在这里给出一组输入。例如:
2
75 3
80 4
输出样例1:
在这里给出相应的输出。例如:
GPA is 2.79
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int a=0,flat1=0,flat2=0,flat3=0,count=0;
double avenger=0.0,sum1=0;
double score=0,cridict=0,C_sum=0;
a= in.nextInt();
if(a>0){
for(int i=0;i<a;i++)
{
score= in.nextDouble();
cridict= in.nextInt();
if(score>=60&score<=100){
sum1=sum1+((score /10)-5)*cridict;
C_sum=C_sum+cridict;
flat1=1;
}
else if(score>=0&score<60){
flat1=1;
C_sum=C_sum+cridict;
}
else{
flat2=2;
flat1=0;
break;
}
if(cridict>5|cridict<1){
flat3=3;
flat1=0;
break;
}
}
}
else{
System.out.print("input error");
}
if(flat1==1){
avenger=sum1/C_sum;
System.out.printf("GPA is %.2f",avenger);
}
if (flat2==2) {
System.out.println("grad error");
}
if(flat3==3){
System.out.print("credit error");
}
}
}