C++信息学奥赛1839:【05NOIP提高组】谁拿了最多奖学金

news2024/12/28 18:57:30

在这里插入图片描述
这段代码是一个奖学金评选程序,根据学生的各项指标计算出最高奖学金金额和获得该奖学金的学生姓名。

具体解析如下:

#include <iostream>
#include <string>
using namespace std;

int main() {
    int n; // 定义整数变量n,用于存储学生人数
    cin >> n; // 输入学生人数并存储到n中

    int term; // 定义整数变量term,用于存储学期成绩
    int review; // 定义整数变量review,用于存储论文成绩
    char Student; // 定义字符变量Student,用于存储是否有困难家庭情况
    char Western; // 定义字符变量Western,用于存储是否参加过西部计划
    int Thesis; // 定义整数变量Thesis,用于存储论文是否被发表
    long Bonu = 0; // 定义长整数变量Bonu,用于存储奖学金金额
    long Bonus = 0; // 定义长整数变量Bonus,用于累加所有学生的奖学金金额

    int item; // 定义整数变量item,用于记录获得最高奖学金的学生的序号
    string name; // 定义字符串变量name,用于存储学生姓名
    string maxname; // 定义字符串变量maxname,用于存储获得最高奖学金的学生姓名
    int max = 0; // 定义整数变量max,用于存储最高奖学金金额,初始值为0

    for (int i = 0; i < n; i++) { // 循环输入每个学生的信息
        cin >> name >> term >> review >> Student >> Western >> Thesis;

        // 根据各项条件依次计算奖学金金额并累加到Bonu和Bonus中
        if (term > 80 && Thesis > 0) {
            Bonu += 8000;
            Bonus += 8000;
        }
        if (term > 85 && review > 80) {
            Bonu += 4000;
            Bonus += 4000;
        }
        if (term > 90) {
            Bonu += 2000;
            Bonus += 2000;
        }
        if (term > 85 && Western == 'Y') {
            Bonu += 1000;
            Bonus += 1000;
        }
        if (review > 80 && Student == 'Y') {
            Bonu += 850;
            Bonus += 850;
        }

        // 判断当前学生的奖学金金额是否大于当前最大值max,若是,则更新max、item和maxname
        if (Bonu > max) {
            max = Bonu;
            item = i;
            maxname = name;
        }
        
        Bonu = 0; // 将Bonu重置为0,准备计算下一个学生的奖学金金额
    }

    // 输出最高奖学金的学生姓名、最高奖学金金额以及所有学生的奖学金总额
    cout << maxname << endl;
    cout << max << endl;
    cout << Bonus;

    return 0;
}

代码首先定义了各种变量,包括整数变量用于存储成绩和数量信息,字符变量用于存储特殊情况的标志,以及字符串变量用于存储学生姓名。然后通过 cin 输入学生人数。

接下来,通过一个 for 循环,按顺序输入每个学生的姓名和各项指标的值。

在循环中,根据规定的条件判断学生是否满足获得奖学金的条件,并根据不同条件累加对应的奖金到 BonuBonus 变量中。

在每次循环结束后,通过比较 Bonu 和当前最大奖学金金额 max 的大小,更新最大奖学金金额 max,记录获得该奖学金的学生的序号 item 和姓名 maxname

循环结束后,输出最高奖学金的学生姓名 maxname、最高奖学金金额 max 和所有学生的奖学金总额 Bonus

该代码的目的是根据学生的各项指标计算奖学金金额,并输出获得最高奖学金的学生姓名和金额,以及所有学生的奖学金总额。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实例042 在窗口间移动按扭

实例说明 窗体中每个可视控件都有所有者和父对象两个重要属性&#xff0c;所有者是控件建立时指定的所属对象&#xff0c;该对象可以是不可视控件&#xff0c;而父对象必须是可视控件。因此可以通过窗体中可视控件的Parent属性来判断控件是否在这个窗体中&#xff0c;还可以用…

js逆向工具-v-jstools插件自动补环境

目录 一、反爬参数如图二、知识点提前Get三、v_jstools安装四、详细分析流程方法一&#xff1a;本案例操作流程之-生成临时环境-直接可以用的情况方法二&#xff1a;本案例操作流程之-生成临时环境-不可以直接用&#xff0c;需要调试补下 五、文章与视频 一、反爬参数如图 二、…

so-vits-svc 4.1 详细使用记录

前几个月在B站听到了许多AI孙燕姿的“作品”&#xff0c;自己也很好奇是如何做到的。这不最近有了点时间&#xff0c;体验实践了一下。 其实so-vits-svc的文档写的已经比较详细了。但实际操作起来&#xff0c;因为环境的原因会遇到各种问题。本篇也是将我遇到的问题整理出来&a…

字母异位词分组——力扣49

vector<vector<string>> groupAnagrams(vector<string>& strs){unordered_map<string, vector<string>> mp;for

总结记录Keras开发构建神经网络模型的三种主流方式:序列模型、函数模型、子类模型

Keras是一个易于使用且功能强大的神经网络建模库&#xff0c;它是基于Python语言开发的。Keras提供了高级API&#xff0c;使得用户能够轻松地定义和训练神经网络模型&#xff0c;无论是用于分类、回归还是其他任务。 Keras的主要特点如下&#xff1a; 简单易用&#xff1a;Kera…

自动化脚本本地可以跑成功云服务器报错:FileNotFoundError:[Errno 2] No such file or directory

出现这种情况&#xff0c;原因之一可能是脚本中某些路径没有使用自动获取&#xff0c;当使用相对路径可能就会报错 把路径改为自动获取之后 self.data get_yaml_data(os.path.join(configs_path, method_path.yaml))再次运行代码就不会报文件找不到的错误了

如何保障Facebook账号登录稳定

当谈到保障Facebook账号的稳定性时&#xff0c;我们不得不提到那些令人头疼的情况——Facebook账号被封。尽管我们已经踏入数字化的未来&#xff0c;但是被封号似乎是一个时常困扰着社交媒体用户的问题。那么&#xff0c;让我们来看看一些常见的Facebook账号被封的原因&#xf…

【TDSQL-C Serverless 产品体验】| 实战分享 | 文末送书

目录 一. &#x1f981; 产品引入二. &#x1f981; TDSQL-C数据库使用体验——实战案例2.1 实战案例介绍2.2 实操指导1. 购买TDSQL数据库2. [配置选择](https://buy.cloud.tencent.com/cynosdb#/)3. 配置TDSQL-C 集群4. 点击授权并创建5. 记住主机名和端口6. 登录TDSQL7. 链接…

Bit Timing Configuration

注意 此功能是实验性的。在未来的版本中,实现可能会发生变化。 ISO 11898中规定的CAN协议允许针对给定应用优化比特率、采样点和采样数量。这些被称为比特定时的参数可以被调整以满足通信系统和物理通信信道的要求。 这些参数包括: tseg1: 时间段1(TSEG1)是从同步段结束到采…

24V输入防反接电路

#24V输入防反接电路 &#xff08;部分图片参考东沃电子&#xff09; 用于对输入的24V电源进行防反接及ESD保护&#xff0c;可用于EMC测试实验的电源输入保护&#xff0c;额定电流3A&#xff0c;后级电路最大损坏电压为48V。 1.24V输入防反接原理图 如上图所示&#xff0c;24V_…

华为AR路由器 典型配置案例——以太网交换

目录 Eth-Trunk 例&#xff1a;配置三层链路聚合 组网需求 操作步骤 检查配置结果 配置脚本 VLAN 举例&#xff1a;配置基于接口划分VLAN&#xff0c;实现同一VLAN内的互通&#xff08;同设备&#xff09; 组网需求 操作步骤 检查配置结果 配置脚本 举例&#xff…

2023年国赛 高教社杯数学建模思路 - 案例:粒子群算法

文章目录 1 什么是粒子群算法&#xff1f;2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法&#xff1f; 粒子群算法&#xff08;Pa…

ui设计专业学生实习报告范文

ui设计实习报告范文篇四 经过了四年的理论学习&#xff0c;使我们对平面设计有了基本掌握&#xff0c;对于平面设计这个专业也有了一个系统的学习和掌握。我们即将离开大学校园&#xff0c;作为平面设计专业的毕业生&#xff0c;心中想得更多的是如何去做好一个平面设计师、如…

操作系统-笔记-第五章-输入输出管理

目录 五、第五章——输入输出管理 1、IO设备的概念和分类 &#xff08;1&#xff09;IO设备分类——使用特性 &#xff08;2&#xff09;IO设备分类——传输速率 &#xff08;3&#xff09;IO设备分类——信息交换&#xff08;块、字符&#xff09; 2、IO控制器 &#x…

【Terraform学习】使用 Terraform 将 EC2 实例作为 Web 服务器启动(Terraform-AWS最佳实战学习)

使用 Terraform 将 EC2 实例作为 Web 服务器启动 实验步骤 前提条件 安装 Terraform&#xff1a; 地址 下载仓库代码模版 本实验代码位于 task_ec2 文件夹中。 变量文件 variables.tf 在上面的代码中&#xff0c;您将声明&#xff0c;aws_access_key&#xff0c;aws_secr…

入耳式无线耳机哪个款式好?无线蓝牙耳机音质排行榜

本着要买就认认真真的挑选一台的想法。和有线耳机相比&#xff0c;无线耳机确实有一定优势&#xff0c;比如说它的实用性明显要高不少。那么如何挑选&#xff0c;一款合适自己的耳机呢&#xff0c;首先&#xff0c;还是挑选出当前的热门款式&#xff0c;和各种网红推荐款&#…

Linux 挂载局域网内共享目录

Linux 挂载局域网内共享目录 1、安装samba服务端2、samba服务端配置3、添加samba服务访问账户4、防火墙5、重启服务6、windows访问7、linux访问 1、安装samba服务端 sudo apt-get install -y samba yum install -y samba2、samba服务端配置 vim /etc/samba/smb.conf在文档尾部…

shell 04(shell字符串变量)

一、字符串变量 字符串 (String)就是一系列字符的组合。字符串是 Shell编程中最常用的数据类型之一(除了数字和字符串&#xff0c;也没有其他类型了) 1.1 字符串格式 1.单引号方式 varabc 任何字符都会原样输出&#xff0c;在其中使用变量是无效的。 2.双引号方式,推荐 …

(动态规划) 剑指 Offer 42. 连续子数组的最大和 ——【Leetcode每日一题】

❓ 剑指 Offer 42. 连续子数组的最大和 难度&#xff1a;简单 输入一个整型数组&#xff0c;数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为 O(n)。 示例1: 输入: nums [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1…

wazuh环境配置以及案例复现

目录 wazuh环境配置wazuh案例复现 wazuh环境配置 一、wazuh配置 1.1进入官网下载OVA启动软件 Virtual Machine (OVA) - Installation alternatives (wazuh.com) 1.2点击启动部署&#xff0c;傻瓜式操作 1.3通过账号&#xff1a;wazuh-user&#xff0c;密码&#xff1a;wazuh进…