【寒假每日一题】AcWing 3443. 学分绩点(补)

简介: 目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解

一、题目

1、原题链接

3443. 学分绩点 - AcWing题库


2、题目描述

北京大学对本科生的成绩施行平均学分绩点制(GPA)。


既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。


公式如下:


实际成绩     绩点

90——100     4.0

85——89      3.7

82——84      3.3

78——81      3.0

75——77      2.7

72——74      2.3

68——71      2.0

64——67      1.5

60——63      1.0

60以下        0

一门课程的学分绩点 =该课绩点 × 该课学分


总评绩点 = 所有学科学分绩点之和 /所有课程学分之和


现要求你编写程序求出某人 A的总评绩点(GPA)。


输入格式


第一行,总的课程数 n;


第二行,相应课程的学分(两个学分间用空格隔开);


第三行,对应课程的实际得分;


此处输入的所有数字均为整数。


输出格式


输出有一行,总评绩点,精确到小数点后 2 位小数。


数据范围


1≤n≤10,

学分取值范围 [1,10],

课程得分范围 [0,100]。


输入样例:


5

4 3 4 2 3

91 88 72 69 56

输出样例:


2.52


二、解题报告

1、思路分析

1)根据题意直接模拟。


2)注意数据应为浮点型,最后保留2位小数。

2、时间复杂度

时间复杂度O(n)


3、代码详解

#include <iostream>

#include <iomanip>

using namespace std;

double x[11],g[11];

int main()

{   int n;

   cin>>n;

   double sumx=0;

   for(int i=0;i<n;i++){

    cin>>x[i];

    sumx+=x[i];

}

for(int i=0;i<n;i++){

    cin>>g[i];

}

double sumj=0;

for(int i=0;i<n;i++){

 if(g[i]>=90&&g[i]<=100){

  sumj+=4*x[i];

 }

 else if(g[i]>=85&&g[i]<=89){

  sumj+=3.7*x[i];

 }

 else if(g[i]>=82&&g[i]<=84){

  sumj+=3.3*x[i];

 }

 else if(g[i]>=78&&g[i]<=81){

  sumj+=3*x[i];

 }

 else if(g[i]>=75&&g[i]<=77){

  sumj+=2.7*x[i];

 }

 else if(g[i]>=72&&g[i]<=74){

  sumj+=2.3*x[i];

 }

 else if(g[i]>=68&&g[i]<=71){

  sumj+=2*x[i];

 }

 else if(g[i]>=64&&g[i]<=67){

  sumj+=1.5*x[i];

 }

 else if(g[i]>=60&&g[i]<=63){

  sumj+=1*x[i];

 }

 else {

  sumj+=0*x[i];

 }

}

cout<<fixed<<setprecision(2)<<sumj/sumx;

return 0;

}

目录
相关文章
【资源分享】阿里云盘资源永久汇总页
不知道大家的阿里云盘现在有多少容量了?阿里为了资源也为了网盘活跃度,在九月推出限时活动,分享赢10T容量。因此带来了这一波的阿里盘分享热潮,当然大部分人都是奔着10T去的。所以网上资源翻来覆去的很多,重复的也多。正因如此空空发现了一位网友非常的有心,将分享出来网盘资源进行了梳理汇总,并且搭建了这个终极阿里云盘资源整合网站——【阿里云盘资源永久汇总页】。
235927 11
【资源分享】阿里云盘资源永久汇总页
|
存储 负载均衡 容灾
MySQL数据库的分布式架构和数据分片方案
MySQL数据库的分布式架构和数据分片方案
|
机器学习/深度学习 算法 TensorFlow
机器学习算法简介:从线性回归到深度学习
【5月更文挑战第30天】本文概述了6种基本机器学习算法:线性回归、逻辑回归、决策树、支持向量机、随机森林和深度学习。通过Python示例代码展示了如何使用Scikit-learn、statsmodels、TensorFlow库进行实现。这些算法在不同场景下各有优势,如线性回归处理连续值,逻辑回归用于二分类,决策树适用于规则提取,支持向量机最大化类别间隔,随机森林集成多个决策树提升性能,而深度学习利用神经网络解决复杂模式识别问题。理解并选择合适算法对提升模型效果至关重要。
376 4
|
敏捷开发 小程序 持续交付
【规范】Git分支管理,看看我司是咋整的
本文介绍了Git分支管理规范的重要性及其在企业中的应用。通过规范化的分支管理,可加速团队协作、确保代码质量、维护主分支稳定,并支持敏捷开发。文中详细描述了主分支(如master、develop)和辅助分支(如feature、hotfix)的作用,并提供了实际开发流程示例,包括开发前、开发中、提测、预生产和部署上线等阶段的操作方法。旨在帮助团队提高效率和代码质量。
2699 0
【规范】Git分支管理,看看我司是咋整的
|
Java 数据库
request.setAttribute()详解
request.setAttribute()详解
|
缓存 编译器 程序员
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
963 0
|
存储 算法 数据挖掘
深入解析力扣166题:分数到小数(模拟长除法与字符串操作详解及模拟面试问答)
深入解析力扣166题:分数到小数(模拟长除法与字符串操作详解及模拟面试问答)
|
机器学习/深度学习 编解码 API
FFmpeg命令行解析
FFmpeg命令行解析
837 1
|
机器学习/深度学习 安全 物联网
网安顶刊IEEE Transactions on Dependable and Secure Computing
网安顶刊IEEE Transactions on Dependable and Secure Computing
444 1
|
机器学习/深度学习 存储 算法
数据分类分级-结构化数据识别与分类的算法实践
本文分享了用九智汇数据分类分级产品开发过程中,对数据识别和数据分类中涉及的算法进行抽象、融合,以形成标准化产品所做的努力和积累的经验。当然,算法只是分类分级产品的一小部分,整个产品设计,工程实现,也是支撑标准化产品的关键,但是限于作者水平有限,本文只讨论算法相关的话题,欢迎大家关注公众号以了解更多信息。
308 1