1.8.6 练习 本科生学平均分绩点GPA计算(堆数组的应用)

C++自学精简教程 目录(必读)

上大学要考试

我们读大学也要上课,上课也要考试的。

基本上每门课也都是满分100分。

虽然选择一个专业要上很多门课,每门课也都是100分,但是这些课程的“价值”却是不一样的。

有的课程是核心专业课:比如数学专业的《数学分析》;计算机专业的《数据结构》。

有的课程是专业选修课:比如数学专业的《泛函分析》;计算机专业的《C++语言程序设计》。

修学分

虽然不同的课都是100分,但是分量它们是不一样的。这个呢,就用学分来表示。

比如,《数学分析》是核心专业课3个学分。《泛函分析》呢,是专业选修课就只有2个学分。

也就是说,这两门课都考满分,一个得到3个学分,一个得到2个学分。

这样以来,国内大部分计算机专业都规定,你毕业之前只要积累修满120个学分就可以毕业了。

但是同样是修了2个学分,一个学生靠了99,另一个学生考了60分。这是明显的不同。

同样是毕业,怎么样衡量谁更厉害呢?那就需要另外的指标:学分绩点

这种指标建立就同时考虑的考试成绩和课程的学分。

从下面的介绍中可以看出,这种学分绩点指标设计的是非常合理的。其本质就是加权平均数

学分绩点

既然每门课都是100分,而不同课程的100分的分量又不一样,那怎么算这个学生学到了多少价值呢?用绩点取代成绩。

学分绩点就是把这门课的考试成绩和这门课的学分综合起来考虑计算得到的一个数值。

简单的可以像下面这样计算:

课程绩点 = 课程成绩 × 课程学分

例如,《数学分析》这门课,3个学分,考试成绩为80分,那么学生得到的课程学分绩点可以像下面这样计算:

《数学分析》绩点= 80 × 3 = 240。

但是这样计算的话,很多们课加起来数值太大,看起来费劲,不方便。

为了让绩点数值看起来不是那么大,目前国内大部分高校通用的计算方法是:

课程绩点 = 课程成绩 / 10 - 5

可以看出来来59分,以及59分以下,课程绩点都是0。也就是不及格就啥也得不到。

类似的,3个学分的《数学分析》考88分,那么:

《数学分析》课程绩点 = 88 / 10 - 5 = 3.8

下面再把学分也考虑进来:

课程学分绩点 = 课程学分 × 课程绩点

所以,

《数学分析》的学分绩点 = 3 × 3.8 = 11.4

那么,我们休了很多门课,怎么样用一个数值来综合衡量我们的所有学分绩点呢?那就是加权平均。

平均学分绩点(Grade Point Average,即GPA)

GAP =(课程学分1*课程绩点1+课程学分2*课程绩点2+...+课程学分n*课程绩点)/(课程学分1+课程学分2+...+课程学分n)

GPA计算

题目:已知学生李白的各门课的成绩,以及各门课对应的学分,求张三的平均学分绩点GPA。

我们把,各门课的成绩放在数组score_list里,各门课的学分放在数组 credit_hour_list里。

李白总共修了10门课。求李白的平均学分绩点GPA。

前驱知识点: for循环语句 和堆数组 heap array

代码如下

#include <iostream>
using namespace std;int main()
{//10门课int course_number = 10;//10门课的考试分数int* score_list = new int[course_number]{ 88, 95, 84, 89, 92, 79, 80, 96, 83, 80 };//10门课的学分int* credit_hour_list = new int[course_number]{ 3 , 4 , 1 , 3 , 3 , 2 , 2 , 4 , 3 ,  3 };//累加课程学分绩点=课程学分绩点1+课程学分绩点2+...+课程学分绩点ndouble total_credit_hour_point = 0;for (int i = 0; i < course_number; i++){//课程绩点=课程成绩/10 -5double grade_point = score_list[i] / 10.0 - 5;//注意这里整数通过除以浮点数结果转换成了浮点数//课程学分绩点double credit_hour_point = credit_hour_list[i] * grade_point;//累加课程学分绩点//(1) your code}//平均学分绩点//各门课学分之和 sum_credit_hour int sum_credit_hour = 0;for (int i = 0; i < course_number; i++){//(2) your code  //累加}//平均学分绩点= 累加课程学分绩点/各门课学分之和double GPA = total_credit_hour_point / sum_credit_hour;cout << "李白的GPA = " << GPA << endl;//释放动态内存delete[] score_list;delete[] credit_hour_list;return 0;
}

正确结果为:

答案在此

C++自学精简教程 全部答案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/90540.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《游戏编程模式》学习笔记(九)游戏循环 Sequencing Patterns

定义 一个游戏循环会在游玩时不断运行。 每一次循环&#xff0c;它都会无阻塞地处理玩家的输入&#xff0c;更新游戏的状态&#xff0c;渲染游戏。它追踪时间的消耗并控制游戏的速度。游戏循环需要做到始终以固定的速度运行游戏。 一个游戏循环中通常包含处理输入部分&#xf…

设计模式的使用——模板方法模式+动态代理模式

一、需求介绍 现有自己写的的一套审批流程逻辑&#xff0c;由于代码重构&#xff0c;需要把以前的很多业务加上审批的功能&#xff0c;再执行完审批与原有业务之后&#xff0c;生成一个任务&#xff0c;然后再统一处理一个任务&#xff08;本来是通过数据库作业去处理的&#x…

上海炒股开户哪个证券公司好?找谁能开低佣金的账户?

在上海炒股开户选择哪家券商都可以&#xff0c;但是要拿到低佣金的账户就有点难度了。上海&#xff0c;简称“沪&#xff0c;是国务院批复确定的中国国际经济、金融、贸易、航运、科技创新中心&#xff01;正是如此&#xff0c;上海地区的券商公司也是非常之多的&#xff0c;这…

论文阅读 FCOS: Fully Convolutional One-Stage Object Detection

文章目录 FCOS: Fully Convolutional One-Stage Object DetectionAbstract1. Introduction2. Related Work3. Our Approach3.1. Fully Convolutional One-Stage Object Detector3.2. Multi-level Prediction with FPN for FCOS3.3. Center-ness for FCOS 4. Experiments4.1. Ab…

【网络设备】交换机的概念、工作原理、功能以及以太网帧格式

个人主页&#xff1a;insist--个人主页​​​​​​ 本文专栏&#xff1a;网络基础——带你走进网络世界 本专栏会持续更新网络基础知识&#xff0c;希望大家多多支持&#xff0c;让我们一起探索这个神奇而广阔的网络世界。 目录 一、认识交换机 二、交换机的主要功能 1、数…

Maven入门教程(一):安装Maven环境

视频教程&#xff1a;Maven保姆级教程 Maven入门教程(一)&#xff1a;安装Maven环境 Maven入门教程(二)&#xff1a;idea/Eclipse使用Maven Maven入门教程(三)&#xff1a;Maven语法 Maven入门教程(四)&#xff1a;Nexus私服 Maven入门教程(五)&#xff1a;自定义脚手架 Maven项…

二三维电子沙盘数字沙盘虚拟现实开发教程第14课

二三维电子沙盘数字沙盘开发教程第14课 很久没有写了&#xff0c;主要前段时间在针对怎么显示高精度的 倾斜数据而努力&#xff0c;现在终于实现了效果不错。以前的版本显示倾斜数据控制不太好。 对了。目前系统暂只支持smart3d生成的kml格式的数据&#xff0c;由专有的录入程…

AI:05 - 基于深度学习的道路交通信号灯的检测与识别

随着人工智能的快速发展,基于深度学习的视觉算法在道路交通领域中起到了重要作用。本文将探讨如何利用深度学习技术实现道路交通信号灯的检测与识别,通过多处代码实例展示技术深度。 道路交通信号灯是指示交通参与者行驶和停止的重要信号。准确地检测和识别交通信号灯对于智…

C语言每日一练------(Day3)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今天练习题的关键字&#xff1a; 尼科彻斯定理 等差数列 &#x1f493;博主csdn个人主页&#xff1a…

Grounded Language-Image Pre-training论文笔记

Title&#xff1a;Grounded Language-Image Pre-training Code 文章目录 1. 背景2. 方法&#xff08;1&#xff09;Unified Formulation传统目标检测grounding目标检测 &#xff08;2&#xff09;Language-Aware Deep Fusion&#xff08;3&#xff09;Pre-training with Scala…

什么是Python爬虫分布式架构,可能遇到哪些问题,如何解决

目录 什么是Python爬虫分布式架构 1. 调度中心&#xff08;Scheduler&#xff09;&#xff1a; 2. 爬虫节点&#xff08;Crawler Node&#xff09;&#xff1a; 3. 数据存储&#xff08;Data Storage&#xff09;&#xff1a; 4. 反爬虫处理&#xff08;Anti-Scraping&…

详解 SpringMVC 中获取请求参数

文章目录 1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、[RequestParam ](/RequestParam )4、[RequestHeader ](/RequestHeader )5、[CookieValue ](/CookieValue )6、通过POJO获取请求参数7、解决获取请求参数的乱码问题总结 在Spring MVC中&#xff0c;获取请…