免费,C++蓝桥杯等级考试真题--第11级(含答案解析和代码)

C++蓝桥杯等级考试真题--第11级

答案:D

解析:

A. a = b; b = a; 这种方式会导致ab最终都等于b原来的值,因为a的原始值在被b覆盖前没有保存。

B. swap(ab); 如果没有自定义swap函数或者没有包含相应的库,这个选项会编译错误。

C. a,b= b,a; 这种语法在C++中是错误的,不过在Python中可以用来交换变量。

D. 正确地使用了临时变量tmp来保存b的值,然后把a的值赋予b,最后把tmp的值(原本的b)赋予a,完成了交换,故答案为D

答案:C

解析:

A. 错误,二维数组 int a[3][7] 的最后一个元素是 a[2][6],数组索引是从0开始的。

B. 错误,C++中数组的维度没有限制,不仅仅限于三维,可以通过指针或动态分配内存等方式实现更高维度的数组表示。

C. 正确,数组在内存中分配是一段连续的内存空间,无论是一维、二维(以行优先或列优先方式连续存储)还是更高维度(通过嵌套数组实现)的数组,其元素都是连续存储的。

D. 错误,二维数组 int a[3][7] 的第一个元素是 a[0][0],故答案为C。

答案:B

解析:

A. 选项在每个元素输入后都有一个 endl,这会导致不必要的换行,虽然程序依然能正确运行,但这不是输入数组的标准做法。

B. 正确遍历了数组的每一个元素,从 a[0][0] a[4][9],没有额外的 endl 输出,是最合适的输入方式。

C. 错误地使用了 i<=5 j<=10,这将访问数组的越界位置,因为数组的有效索引范围是0n-1

D. 错误地交换了循环变量ij的边界,导致尝试按照列优先的顺序访问数组,而数组定义为510列,正确的遍历应遵循行优先的原则,故答案为B。


【参考程序】

#include <iostream>
using namespace std;int main() {int m, n, x, y;cin >> m >> n >> x >> y;// 确保x和y在有效范围内x--; // 将行号转换为0-based索引y--;int matrix[m][n]; // 定义一个m*n的二维数组// 输入矩阵for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {cin >> matrix[i][j];}}// 输出指定行for(int i = x; i <= y; i++) {for(int j = 0; j < n; j++) {cout << matrix[i][j] << " ";}cout << endl; // 换行}return 0;
}

解析:首先读取矩阵的大小(行数m和列数n)、起始行号x和结束行号y,然后通过两层循环输入矩阵中的每个元素。之后,程序再次使用循环结构,仅输出从第x行到第y行的内容,每行元素之间用空格分隔,行与行之间自动换行。注意,由于题目中行号是基于1的,而在C++数组索引中我们通常从0开始,因此在读取xy后立即将它们减1,以便正确地访问数组。

【参考程序】

#include <iostream>
#include <vector>
using namespace std;int main() {int m, n;cin >> m >> n;vector<vector<int>> matrix(m, vector<int>(n)); // 使用vector来创建动态矩阵// 输入矩阵for(int i = 0; i < m; i++) {for(int j = 0; j < n; j++) {cin >> matrix[i][j];}}// 初始化一个n大小的向量,用于存放每列的最大值vector<int> maxValues(n, 0);// 遍历矩阵找到每列的最大值for(int j = 0; j < n; j++) {for(int i = 0; i < m; i++) {if(matrix[i][j] > maxValues[j]) {maxValues[j] = matrix[i][j];}}}// 输出每列的最大值for(int i = 0; i < n; i++) {cout << maxValues[i];if(i < n - 1) cout << " "; // 除了最后一个数字外,每个数字后面加空格}cout << endl;return 0;
}

解析:首先读取矩阵的行数m和列数n,接着使用vector<vector<int>>来动态存储矩阵数据。通过两层循环读入矩阵的每个元素。然后,它初始化一个vector<int>来保存每列的最大值,并通过双重循环遍历矩阵,比较并更新每列的最大值。最后,程序输出所有列的最大值,每两个数字之间用空格隔开。

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

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

相关文章

技术前沿 |【大模型InstructBLIP进行指令微调】

大模型InstructBLIP进行指令微调 一、引言二、InstructBLIP模型介绍三、指令微调训练通用视觉语言模型的应用潜力四、InstructBLIP的指令微调训练步骤五、实验结果与讨论六、结论与展望 一、引言 随着人工智能技术的快速发展&#xff0c;视觉语言模型&#xff08;Vision-Langu…

SpringMVC[从零开始]

SpringMVC SpringMVC简介 1.1什么是MVC MVC是一种软件架构的思想&#xff0c;将软件按照模型、视图、控制器来划分 M:Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为实体类Bean&#xff1a;专…

Python数据分析II

目录 1.HS-排序返回前n行 2.HS-相关性 3.缺失值处理 4.时间 5.时间索引 6.分组聚合 7.离散分箱 8.Concat关联(索引关联) 9.Merge关联(字段关联) 10.join合并(左字段,右索引) 11.行列转置及透视表 12.数据可视化-面向过程 13.数据可视化-面向对象 14.快速生成柱状…

设计模式 —— 观察者模式

设计模式 —— 观察者模式 什么是观察者模式观察者模式定义观察者模式的角色观察者模式的使用场景观察者模式的实现 被观察者&#xff08;Subject&#xff09;观察者&#xff08;Observer&#xff09;通知&#xff08;notify&#xff09;更新显示&#xff08;update&#xff09…

Apache Pulsar 从入门到精通

一、快速入门 Pulsar 是一个分布式发布-订阅消息平台&#xff0c;具有非常灵活的消息模型和直观的客户端 API。 最初由 Yahoo 开发&#xff0c;在 2016 年开源&#xff0c;并于2018年9月毕业成为 Apache 基金会的顶级项目。Pulsar 已经在 Yahoo 的生产环境使用了三年多&#…

26-LINUX--I/O复用-select

一.I/O复用概述 /O复用使得多个程序能够同时监听多个文件描述符&#xff0c;对提高程序的性能有很大帮助。以下情况适用于I/O复用技术&#xff1a; ◼ TCP 服务器同时要处理监听套接字和连接套接字。 ◼ 服务器要同时处理 TCP 请求和 UDP 请求。 ◼ 程序要同时处理多个套接…

Python 连接 MySQL 及 SQL增删改查(主要使用sqlalchemy)

目录 一、环境 二、MySQL的连接和使用 2.1方式一&#xff1a;sql为主 2.1.1创建连接 2.1.2 表结构 2.1.3 新增数据 ​编辑 2.1.4 查看数据 ​编辑 2.1.5 修改数据 2.1.6 删除数据 2.2方式二&#xff1a;orm对象关系映射 2.2.1 mysql连接 2.2.2 创建表 2.2.3 新增…

关于 Redis 中集群

哨兵机制中总结到&#xff0c;它并不能解决存储容量不够的问题&#xff0c;但是集群能。 广义的集群&#xff1a;只要有多个机器&#xff0c;构成了分布式系统&#xff0c;都可以称之为一个“集群”&#xff0c;例如主从结构中的哨兵模式。 狭义的集群&#xff1a;redis 提供的…

Java里面的10个Lambda表达式必须掌握,提高生产力

目录 Java里面的10个Lambda表达式必须掌握&#xff0c;提高生产力 前言 1. 使用Lambda表达式进行集合遍历 2. 使用Lambda表达式进行集合过滤 3. 使用Lambda表达式进行集合映射 4. 使用Lambda表达式进行集合排序 5. 使用Lambda表达式进行集合归约 6. 使用Lambda表达式进…

使用docker-compose搭建达梦数据库主备集群

目录 1. Docker集群的搭建 2. 检查主备数据库 3. 主备集群的JDBC连接设置 1. Docker集群的搭建 达梦的镜像文件都是tar文件&#xff0c;通过docker load命令导入&#xff1a; docker load -i dm8_20240422_x86_rh6_64_rq_ent_8.1.3.140.tar 成功导入后&#xff0c;可看到…

刚刚❗️德勤2025校招暑期实习测评笔试SHL测评题库已发(答案)

&#x1f4e3;德勤 2024暑期实习测评已发&#xff0c;正在申请的小伙伴看过来哦&#x1f440; ㊙️本次暑期实习优先考虑2025年本科及以上学历的毕业生&#xff0c;此次只有“审计及鉴定”“税务与商务咨询”两个部门开放了岗位~ ⚠️测评注意事项&#xff1a; &#x1f44…

【JAVASE】java语法(成员变量与局部变量的区别、赋值运算符中的易错点)

一&#xff1a;成员变量与局部变量的区别 区别 成员变量 局部变量 类中位置不同 …

Java:110-SpringMVC的底层原理(上篇)

SpringMVC的底层原理 在前面我们学习了SpringMVC的使用&#xff08;67章博客开始&#xff09;&#xff0c;现在开始说明他的原理&#xff08;实际上更多的细节只存在67章博客中&#xff0c;这篇博客只是讲一点深度&#xff0c;重复的东西尽量少说明点&#xff09; MVC 体系结…

2024 AEE | 风丘科技将亮相日本爱知国际会展中心——共同创造!

2024年名古屋汽车工程博览会&#xff08;Automotive Engineering Exposition 2024 NAGOYA&#xff09;将于7月17-19日在日本爱知县国际展示场&#xff08;Aichi Sky Expo&#xff09;开展。本展会是专门为活跃在汽车行业的工程师和研究人员举办的汽车技术展览&#xff0c;汇聚了…

Web自动化测试-掌握selenium工具用法,使用WebDriver测试Chrome/FireFox网页(Java

目录 一、在Eclipse中构建Maven项目 1.全局配置Maven 2.配置JDK路径 3.创建Maven项目 4.引入selenium-java依赖 二、Chrome自动化脚本编写 1.创建一个ChromeTest类 2.测试ChromeDriver 3.下载chromedriver驱动 4.在脚本中通过System.setProperty方法指定chromedriver的…

操作系统期末复习整理知识点

操作系统的概念&#xff1a;①控制和管理整个计算机系统的硬件和软件资源&#xff0c;并合理地组织调度计算机的工作和资源的分配&#xff1b;②提供给用户和其他软件方便的接口和环境&#xff1b;③是计算机中最基本的系统软件 功能和目标&#xff1a; ①操作系统作为系统资源…

搭贝请假审批应用

在现代企业管理中&#xff0c;高效的请假审批系统至关重要。搭贝的请假审批应用通过简化员工的请假流程、提升管理层的工作效率&#xff0c;确保企业运作的连贯性和透明度。本文将介绍搭贝请假审批应用的主要功能模块&#xff1a;请假分析看板、请假申请审批流、请假类型维护和…

RocketMq源码解析六:消息存储

一、消息存储核心类 rocketmq消息存储的功能主要在store这个模块下。 核心类就是DefaultMessageStore。我们看下其属性 // 配置文件 private final MessageStoreConfig messageStoreConfig; // CommitLog 文件存储实现类 private final CommitLog commitLog; …

Mybatis05-一对多和多对一处理

多对一和一对多 多对一 多对一的理解&#xff1a; 多个学生对应一个老师 如果对于学生这边&#xff0c;就是一个多对一的现象&#xff0c;即从学生这边关联一个老师&#xff01; 结果映射&#xff08;resultMap&#xff09;&#xff1a; association 一个复杂类型的关联&…

PHP实现抖音小程序用户登录获取openid

目录 第一步、抖音小程序前端使用tt.login获取code 第二步、前端拿到code传给后端 第三步、方法1 后端获取用户信息 第四步、方法2 抖音小程序拿到用户信息把用户信息传给后端 code2Session抖音小程序用户登录后端文档 第一步、抖音小程序前端使用tt.login获取code 前端 …