• Java实现 蓝桥杯 算法提高 GPA(暴力)


    试题 算法提高 GPA

    问题描述
      输入A,B两人的学分获取情况,输出两人GPA之差。
    输入格式
      输入的第一行包含一个整数n表示A的课程数,以下n行每行Si,Ci分别表示第i个课程的学分与A的表现。
      GPA=Σ(Si*Ci) / Σ(Si)。
      特殊地,如果Ci是’P’或者’N’(对应于通过与不通过),则第i个课程不记入GPA的计算(即当其不存在)。
      A读入结束后读入B,B的输入格式与A相同。
      保证2人的Σ(Si)非零
    输出格式
      输出A的GPA - B的GPA的值,保留2位小数(四舍五入)
      Tips:当A和B的分数相近时输出0.00。
    样例输入
    2
    1 10
    2 N
    2
    1 10
    1 5
    样例输出
    2.50
    数据规模和约定
      输入的所有数字均为不超过100的非负整数

     
    
    import java.util.Scanner;
    
    public class Main {
        public static void main (String[] args){
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int num1 = 0, num2 = 0;
            for (int i = 0;i < n;i++){
                int s1 = sc.nextInt();
                String s=sc.next();
                if (Character.isDigit(s.charAt(0))) {
                    int c1=Integer.valueOf(s);
                    num1+=s1*c1;
                    num2+=s1;
                } else {
                    continue;
                }
            }
            double temp1=num1*1.0/num2;
              n = sc.nextInt();
            int num3 = 0, num4 = 0;
            for (int i = 0;i < n;i++){
                int s1 = sc.nextInt();
                String s=sc.next();
                if (Character.isDigit(s.charAt(0))) {
                    int c1=Integer.valueOf(s);
                    num3+=s1*c1;
                    num4+=s1;
                } else {
                    continue;
                }
            }
    //        System.out.println(num3);
            double temp2=num3*1.0/num4;
    //        System.out.println(temp1);
    //        System.out.println(temp2);
            if (Math.abs(temp1 - temp2)<1e-2f) {
                System.out.println("0.00");
                return;
            }
            System.out.printf("%.2f",temp1-temp2);
        }
    }
    
    
  • 相关阅读:
    shell函数
    sed命令
    交互式输入与for语句
    day01_云计算概述及kvm介绍
    grep与正则表达式
    shell的编程原理
    shell的文本处理工具
    shell的基础入门
    深入理解JavaScript中 fn() 和 return fn() 的区别
    一篇笔记带你快速掌握面向对象的Javascript(纯手打)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12946153.html
Copyright © 2020-2023  润新知