GPA计算

 GPA计算
    学生成绩实行平均学分绩点制
        实际考分按照不同的学科的不同学分按一定的公式进行计算
            分段
                90-100    4.0
                85-89    3.7
                82-84    3.3
                78-81    3
                75-77    2.7
                72-74    2.3
                68-71    2
                64-67    1.5
                60-63    1
                60以下    0
            公式:
                1、一门课程的学分绩点=该课绩点*该课学分
                2、总评绩点=所有学科绩点之和/所有课程学分之和
                
            分析:输入总的课程数n(n<10)
                 相应课程得到的学分(空格隔开)
                 对应的实际得分
                 
             得到了我们需要的条件 
             然后开始计算我们的gpa

import java.util.Scanner;
public class M {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
        int n = in.nextInt();
        int []s1=new int[n];//课程学分
        int []s2=new int[n];//课程实际得分
        double []s3=new double[n];//绩点
        double []score=new double[n];//学分绩点=绩点*学分
        double sum1=0;//学科绩点之和
        double sum2=0;//学分之和
        for (int i=0;i<n;i++){
            s1[i]=in.nextInt();
        }
        for (int i=0;i<n;i++){
            s2[i]=in.nextInt();
        }
        for (int i=0;i<s2.length;i++){
            if (s2[i]>=90&&i<100){
                s3[i]=4.0;
            }
            else if (s2[i]>=85&&i<90){
                s3[i]=3.7;
            }
            else if (s2[i]>=82&&i<85){
                s3[i]=3.3;
            }
            else if (s2[i]>=78&&i<82){
                s3[i]=3.0;
            }
            else if (s2[i]>=75&&i<78){
                s3[i]=2.7;
            }
            else if (s2[i]>=72&&i<75){
                s3[i]=2.3;
            }
            else if (s2[i]>=68&&i<72){
                s3[i]=2.0;
            }
            else if (s2[i]>=64&&i<68){
                s3[i]=1.5;
            }
            else if (s2[i]>=60&&i<64){
                s3[i]=1.0;
            }
            else if (s2[i]<60){
                s3[i]=0.0;
            }
        }
        for (int i=0;i<n;i++){
            score[i]=s3[i]*s1[i];
            sum1=sum1+score[i];
            sum2=sum2+s1[i];
        }
        System.out.printf("%.2f",sum1/sum2);
    }
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值