免费,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.mzph.cn/news/850963.shtml

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

相关文章

【C++题解】1389 - 数据分析

问题&#xff1a;1389 - 数据分析 类型&#xff1a;简单循环 题目描述&#xff1a; 该方法的操作方式为&#xff0c;如果要传递 2 个数字信息给友军&#xff0c;会直接传递给友军一个整数 n&#xff08;n 是一个 10 位以内的整数&#xff09;&#xff0c;该整数的长度代表要传…

汇编语言LDS指令

在8086架构的实模式下&#xff0c;LDS指令&#xff08;Load Pointer Using DS&#xff09;用于从内存中加载一个32位的指针到指定寄存器和DS寄存器。我们来详细解释一下这条指令为什么会修改DS段寄存器。 LDS指令的功能 LDS指令格式如下&#xff1a; LDS destination, sourc…

程序猿大战Python——运算符

常见的运算符 目标&#xff1a;了解Python中常见的运算符有哪些&#xff1f; 运算符是用于执行程序代码的操作运算。常见的运算符有&#xff1a; &#xff08;1&#xff09;算术运算符&#xff1a;、-、*、/、//、% 、**&#xff1b; &#xff08;2&#xff09;赋值运算符&am…

macOS - 终端快捷键

本文转自 Mac 上“终端”中的键盘快捷键 https://support.apple.com/zh-cn/guide/terminal/trmlshtcts/mac 以下基于系统版本 macOS Sonoma 14 文章目录 Mac 上“终端”中的键盘快捷键1、使用“终端”窗口和标签页2、编辑命令行3、在“终端”窗口中选择和查找文本4、使用标记和…

【Uniapp】uniapp微信小程序定义图片地址全局变量

错误写法&#xff1a; main.js Vue.prototype.$imgUrl 图片地址这么写之后 就发现压根不起作用&#xff1b;获取到的是undefined 正确写法&#xff1a; 返回函数&#xff0c;后面可以拼上OSS图片完整路径 Vue.prototype.$imgUrl (url) > {return ("https://地址…

Android——热点开关(优化中)

SoftAP打开与关闭 目录 1.三个名词的解释以及关系 Tethering——网络共享&#xff0c;WiFi热点、蓝牙、USB SoftAp——热点(无线接入点)&#xff0c;临时接入点 Hostapd——Hostapd是用于Linux系统的软件&#xff0c;&#xff0c;支持多种无线认证和加密协议&#xff0c;将任…

LabVIEW进行图像拼接的实现方法与优化

在工业检测和科研应用中&#xff0c;对于大尺寸物体的拍摄需要通过多次拍摄后进行图像拼接。LabVIEW 作为强大的图形化编程工具&#xff0c;能够实现图像拼接处理。本文将详细介绍LabVIEW进行图像拼接的实现方法、注意事项和提高效率的策略。 图像拼接的实现方法 1. 图像采集…

c++引用的本质(反汇编角度分析)

目录 一、引用基础理论 二、 引用的本质 三、从反汇编角度进行分析 1.变量赋值 2.引用和指针初始化 3.通过引用和指针赋值 4.eaxd的作用 一、引用基础理论 在c中我们都知道&#xff0c;引用&#xff08;&&#xff09;就是变量的一个别名&#xff0c;它允许我们为已存…

Python魔法之旅专栏(导航)

目录 推荐阅读 1、Python筑基之旅 2、Python函数之旅 3、Python算法之旅 4、博客个人主页 首先&#xff0c;感谢老铁们一直以来对我的支持与厚爱&#xff0c;让我能坚持把Python魔法方法专栏更新完毕&#xff01; 其次&#xff0c;为了方便大家查阅&#xff0c;我将此专栏…

C#操作MySQL从入门到精通(21)——删除数据

前言: 谈到数据库,大家最容易脱口而出的就是增删改查,本文就是来详细介绍如何删除数据。 本文测试使用的数据库如下: 1、删除部分数据 使用delete 关键字,并且搭配where条件使用,否则会导致表中数据全部被删除 string sql = string.Empty;if (radioButton_DeletePart…

保存图片奇怪的bug

今天发现一个奇怪的bug 这个的dpi是100de ,但是我取完切片之后&#xff0c;发现这个结果就变了

Vivado时序报告之Datasheet详解

目录 一、前言 二、Datasheet配置选项说明 2.1 Options 2.2 Groups 2.3 Timer Settings 2.4 Common Options 三、Datasheet报告 3.1 General Information 3.2 Input Ports Setup/Hold 3.3 Output Ports Clock-to-out 3.4 Setup between Clocks 3.5 Combinational…

保姆级讲解 Linux下FTP服务器的搭建、配置与管理

本来目录很长的 因为感觉不太美观 所以小标题都删掉了 本文介绍了 本地用户的FTP服务器搭建实例匿名用户的FTP服务器搭建实例虚拟用户的FTP服务器搭建实例企业常见类型搭建实验 配置与管理FTP服务器 配置与管理FTP服务器一、FTP相关知识二、项目设计与准备三、项目实施四、认识…

【最新鸿蒙应用开发】——ArkUI两种开发范式

在进行鸿蒙应用开发&#xff0c;openHarmony提供了一种页面开发框架叫做ArkUI方舟框架来进行页面布局的开发。 ArkUI方舟UI框架 针对不同的应用场景及技术背景&#xff0c;方舟UI框架提供了两种开发范式&#xff0c;分别是基于ArkTS的声明式开发范式&#xff08;简称“声明式…

[书生·浦语大模型实战营]——LMDeploy 量化部署 LLM 实践

1.基础作业 1.1配置 LMDeploy 运行环境 创建开发机 创建新的开发机&#xff0c;选择镜像Cuda12.2-conda&#xff1b;选择10% A100*1GPU&#xff1b;点击“立即创建”。注意请不要选择Cuda11.7-conda的镜像&#xff0c;新版本的lmdeploy会出现兼容性问题。其他和之前一样&…

转型AI产品经理(6):“ 序列位置效应”如何应用在Chatbot产品中

序列位置效应是心理学中的一个记忆现象&#xff0c;指的是人们对一系列信息的记忆效果受到信息在序列中位置的影响。具体来说&#xff0c;人们通常更容易记住列表的开头和结尾部分的项目&#xff0c;而对中间部分的项目记忆较差。这个效应可以进一步分为“首因效应”和“近因效…

VSCode超过390万下载的请求插件

Thunder Client 是一款在 VSCode&#xff08;Visual Studio Code&#xff09;中非常受欢迎的 REST API 客户端插件&#xff0c;由Ranga Vadhineni开发&#xff0c;现在已经有超过390万的下载量。它允许开发者直接在编辑器内发送 HTTP 请求&#xff0c;查看响应。Thunder Client…

简单介绍一下vim

简单介绍一下vim 一、vim是什么&#xff1f;二、vim的优点三、vi/vim的使用命令模式输入模式底线命令模式 四、vi/vim 按键说明&#xff08;一&#xff09;命令模式可用的光标移动、复制粘贴、搜索替换等移动光标的方法:搜索替换的方法删除、复制与贴上的方法 &#xff08;二&a…

【算法】常用排序算法(插入排序、希尔排序、堆排序、选择排序、冒泡排序、快速排序、归并排序、计数排序)超详细

排序算法是数据结构相关知识中非常重要的一节&#xff0c;相信很多小伙伴对这部分知识一知半解。那么接下来&#xff0c;小编就要带领大家一起来进行对排序算法的深入剖析学习&#xff0c;希望本篇文章能够使你有所收获&#xff01; 一.常见的排序算法 排序算法有很多种&#…