题解 | #学分绩点#

学分绩点

https://www.nowcoder.com/practice/a0c09a7e0da04e728810a8aca7226b7b

import java.util.Scanner;
public class Main{
    public static double getPoint(int grade){
        if(grade>=90&&grade<=100){
            return 4.0;
        }else if(grade>=85&&grade<=89){
            return 3.7;
        }else if(grade>=82&&grade<=84){
            return 3.3;
        }else if(grade>=78&&grade<=81){
            return 3.0;
        }else if(grade>=75&&grade<=77){
            return 2.7;
        }else if(grade>=72&&grade<=74){
            return 2.3;
        }else if(grade>=68&&grade<=71){
            return 2.0;
        }else if(grade>=64&&grade<=67){
            return 1.5;
        }else if(grade>=60&&grade<=63){
            return 1.0;
        }else{
            return 0.0;
        }
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] score=new int[n];
        for(int i=0;i<n;i++){
            score[i]=sc.nextInt();
        }
        int[] grade=new int[n];
        for(int i=0;i<n;i++){
            grade[i]=sc.nextInt();
        }
        double sp=0;double gp=0;
        for(int i=0;i<n;i++){
            gp+=getPoint(grade[i])*score[i];
            sp+=score[i];
        }
        double GPA=gp/sp;
        System.out.printf("%.2f",GPA);
        // System.out.printf("%f",gp);//67.1
        // System.out.printf("%f",sp);//25

    }
}

这个题用C 语言写总是通不过这个示例的为什么??? 计算的总是2.52 然而用Java算出来的话就是2.68

为什么??????

全部评论

相关推荐

06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 16:15
我应届生,去年10月份开始在这家公司实习,到今年10月份正好一年想(实习+试用期),在想要不要提前9月份就离职,这样好找工作些,但又差一个月满一年,又怕10月份国庆回来离职,容易错过了下半年的金九银十,到年底容易gap到年后
小破站_程序员YT:说这家公司不好吧,你干了快一年 说这家公司好吧,你刚毕业就想跑路说你不懂行情吧,你怕错过金九银十说 你懂行情吧,校招阶段在实习,毕业社招想换工作 哥们,我该怎么劝你留下来呢
应届生,你找到工作了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务