NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)
B2093 查找特定的值 - 洛谷
- 题⽬要求下标是从0开始的,和数组的下标是吻合的,存放数据应该从下标0开始
- n的取值范围是1~10000
- 数组中存放的值的绝对值不超10000,说明int类型就⾜够了
- 找到了输出下标,找不到要输出-1,这⼀点要注意,很容易忽略
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> arr(n);for(auto &x : arr){cin >> x;}int a;cin >> a;int i = 0;int flg = true;for(auto x : arr){if (a == x){cout << i << '\n';flg = false;break;}i++;}if (flg){cout << -1 << '\n';}return 0;
}
#include <iostream>
using namespace std; const int N = 10010;
int arr[N]; int main()
{ int n = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> arr[i]; } int k = 0;cin >> k; int i = 0; for (i = 0; i < n; i++) { if (k == arr[i]) { cout << i << endl; break; } } if (i == n) cout << -1 << endl; return 0;
}
- 有的题⽬要求数据从下标0的位置开始存放,也有些题⽬要求数据是从下标1的位置开始存放,要仔细阅读题⽬。让从下标1开始存放的时候,数组的开辟必须要有多余的空间使⽤,如果开辟的刚刚好就会越界。
- 数组空间的开辟要⾜够,以免数据越界,所以经常题⽬需要存放n个数据,就开辟n+10个空间,这样空间就⾮常充⾜,⽐较保险。其实在空间⾜够的情况下,浪费⼀点空间是不影响的。动态规划相关算法,⼀般都会预留好空间。
- ⼀般数组较⼤的时候,建议将数组创建成全局数组,因为局部的数组太⼤的时候,可能会导致程序⽆法运⾏,刷题多了就⻅怪不怪了。全局变量(数组)是在内存的静态区开辟空间,但是局部的变量(数组)是在内存的栈区开辟空间的,每个程序的栈区空间是有限的,不会很⼤。
B2089 数组逆序重存放 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x; }int left = 0, right = n - 1;while (left <= right){int tmp = a[left];a[left] = a[right];a[right] = tmp;left++;right--;}for (auto x : a){cout << x << ' '; }return 0;
}
#include <iostream>
using namespace std; int arr[110] = { 0 }; int main()
{ int n = 0; cin >> n; int i = 0; for (i = 0; i < n; i++) cin >> arr[i]; //逆序 int left = 0; int right = n - 1; while (left < right) { int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; left++; right--; } for (i = 0; i < n; i++) cout << arr[i] << " "; return 0;
}
#include <iostream>
using namespace std; int arr[110] = { 0 }; int main()
{ int n = 0; cin >> n; int i = 0; for (i = 0; i < n; i++) cin >> arr[i]; //逆序输出 for (i = n - 1; i >= 0; i--) cout << arr[i] << " "; return 0;
}
B2091 向量点积计算 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x; }vector<int> b(n);for (auto &x : b){cin >> x; }int ans = 0;for (int i = 0; i < n; i++){ans += a[i] * b[i];}cout << ans << '\n';return 0;
}
#include <iostream>
using namespace std; const int N = 1010;
int arr1[N];
int arr2[N]; int main()
{ int n = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> arr1[i]; }for (int i = 0; i < n; i++) { cin >> arr2[i]; } int ret = 0; for (int i = 0; i < n; i++) {ret += arr1[i] * arr2[i]; } cout << ret << endl; return 0;
}
#include <iostream>
using namespace std; const int N = 1010;
int arr1[N]; int main()
{ int n = 0; int m = 0; cin >> n; for (int i = 0; i < n; i++) { cin >> arr1[i]; } int ret = 0;for (int i = 0; i < n; i++) { cin >> m; ret += arr1[i] * m; } cout << ret << endl; return 0;
}
B2090 年龄与疾病 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{int n;cin >> n;vector<int> p(n);for (auto &x : p){cin >> x; }//0-18 、 19-35 、 36-60、 61int c = 0, t = 0, a = 0, o = 0;for (auto x : p){if (x >= 0 && x <= 18)c++;if (x > 18 && x <= 35)t++;if (x > 35 && x <= 60)a++;if (x > 60)o++;}printf("%.2f%%\n", c * 100.0 / n);printf("%.2f%%\n", t * 100.0 / n);printf("%.2f%%\n", a * 100.0 / n);printf("%.2f%%\n", o * 100.0 / n);return 0;
}
这组数据不存储下来也是可以的,因为只有⼀组数据,所以⼀边读取,⼀边统计也是可以的,这样省略了数组空间的开销
#include <iostream>
using namespace std; int n;
int num;
int p1, p2, p3, p4; int main()
{ cin >> n; int i = 0; //输⼊⼀个处理⼀个 for (i = 0; i < n; i++) { cin >> num; if (num >= 0 && num <= 18) p1++; else if (num >= 19 && num <= 35) p2++; else if (num >= 36 && num <= 60) p3++; else p4++; } printf("%.2f%%\n", p1 * 1.0 / n * 100); printf("%.2f%%\n", p2 * 1.0 / n * 100); printf("%.2f%%\n", p3 * 1.0 / n * 100); printf("%.2f%%\n", p4 * 1.0 / n * 100); return 0;
}
题⽬要求输出的是百分⽐,是带%的,这个要特殊处理⼀下
B2092 开关灯 - 洛谷
![![[Pasted image 20250301201059.png]]](https://i-blog.csdnimg.cn/direct/48c6ade4796b4360b89befd5d1cc45d7.png)
#include <bits/stdc++.h>
using namespace std;const int N = 5010;
int a[N] = {0};int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;for(int i = 2; i <= n; i++){for (int j = i; j <= n; j++){if (j % i == 0){//arr[j] = !arr[j];if(a[j] == 1)a[j] = 0;elsea[j] = 1;}}}for (int i = 1; i <= n; i++){if (a[i] == 0)cout << i << ' ';}cout << endl;return 0;
}
P1428 小鱼比可爱 - 洛谷
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x; }for (int i = 0; i < n; i++){int cnt = 0;for (int j = 0; j < i; j++){if (a[j] < a[i]){cnt++;}}cout << cnt << ' ';}return 0;
}
冒泡排序
冒泡排序的原理:通过重复地遍历待排序的数列,依次⽐较相邻元素并交换,使得每⼀轮遍历都将未排序部分的最⼤或最⼩值“冒泡”到数列的⼀端
![![[Pasted image 20250301213245.png]]](https://i-blog.csdnimg.cn/direct/e0501d49bf7e4601b4b0138db02246df.png)
#include <bits/stdc++.h>
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<int> a(n);for (auto &x : a){cin >> x;}for (int i = 0; i < n - 1; i++){for (int j = 0; j < n - 1 - i; j++){if (a[j] < a[j + 1]){int tmp = a[j];a[j] = a[j+1];a[j+1] = tmp;}}}for (auto x : a){cout << x << endl;}return 0;
}
相关文章:
NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)
B2093 查找特定的值 - 洛谷 题⽬要求下标是从0开始的,和数组的下标是吻合的,存放数据应该从下标0开始n的取值范围是1~10000数组中存放的值的绝对值不超10000,说明int类型就⾜够了找到了输出下标,找不到要输出-1,这⼀点…...
Mysql的索引失效
MySQL 的索引失效指的是:尽管在表上建立了索引,但在某些查询场景下,MySQL 优化器却没有利用这些索引,从而导致查询走了全表扫描,性能大大降低。下面详细说明几种常见的导致索引失效的情况及其原因: 1. 对索…...
现代前端框架渲染机制深度解析:虚拟DOM到编译时优化
引言:前端框架的性能进化论 TikTok Web将React 18迁移至Vue 3后,点击响应延迟降低42%,内存占用减少35%。Shopify采用Svelte重构核心交互模块,首帧渲染速度提升580%。Discord在Next.js 14中启用React Server Components后…...
set 和 map 的左右护卫 【刷题反思】
1. 相近的营业额 1.1 题目 题目描述:我们定义,一天营业额的最小波动 min { | 该天以前某一天的营业额 - 该天营业额 | } 特别的,第一天的营业额最小波动为第一天的营业额 输入描述:第一行 n (n < 32767…...
【Linux高级IO】多路转接(poll epoll)
目录 1. poll 2. epoll 2.1 epoll_ctl 2.2 epoll_wait 2.3 epoll原理 2.4 epoll的工作模式 2.5 epoll的惊群效应 使用建议 总结 1. poll poll也是实现 I/O 多路复用的系统调用,可以解决select等待fd上限的问题,将输入输出参数分离,不需要…...
Linux上用C++和GCC开发程序实现两个不同PostgreSQL实例下单个数据库中多个Schema稳定高效的数据迁移到其它PostgreSQL实例
设计一个在Linux上运行的GCC C程序,同时连接三个不同的PostgreSQL实例,其中两个实例中分别有两个数据库中多个Schema的表结构分别与第三实例中两个数据库中多个Schema个结构完全相同,同时复制两个实例中两个数据库中多个Schema里的所有表的数…...
Linux下的网络通信编程
在不同主机之间,进行进程间的通信。 1解决主机之间硬件的互通 2.解决主机之间软件的互通. 3.IP地址:来区分不同的主机(软件地址) 4.MAC地址:硬件地址 5.端口号:区分同一主机上的不同应用进程 网络协议…...
Windows在多网络下指定上网接口
Windows在多网络下指定上网接口 一、说明 设备情况:win11,同时连接了有线网和WLAN,有线网连接着NAS必须保持连接。需求:有些情况时,有线网无网络而WLAN有网,但系统仍走着有线导致无法上网。 二、方法 过…...
网络安全员证书
软考网络安全员证书:信息安全领域的黄金标准 随着信息技术的飞速发展,网络安全问题日益凸显,网络安全员的需求也日益增加。软考网络安全员证书作为信息安全领域的黄金标准,对于网络安全从业者来说具有重要意义。本文将详细介绍…...
CMU15445(2023fall) Project #4 - Concurrency Control踩坑历程
把树木磨成月亮最亮时的样子, 就能让它更快地滚下山坡, 有时会比骑马还快。 完整代码见: SnowLegend-star/CMU15445-2023fall: Having Conquered the Loftiest Peak, We Stand But a Step Away from Victory in This Stage. With unwavering…...
医疗AR眼镜:FPC如何赋能科技医疗的未来之眼?【新立电子】
随着科技的飞速发展,增强现实(AR)技术在医疗领域的应用逐渐成为焦点。医疗AR眼镜作为一种前沿的智能设备,正在为医疗行业带来深刻的变革。它不仅能够提升医生的工作效率,还能改善患者的就医体验,成为医疗科…...
Python从0到100(八十九):Resnet、LSTM、Shufflenet、CNN四种网络分析及对比
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...
服务器迁移记录【腾讯云-->阿里云】
准备工作 压缩/root /usr/local/nginx /data三个目录到zip,并下载到本地。 zip root.zip /root zip nginx.zip /usr/local/nginx zip data.zip /datasz root.zip sz nginx.zip sz data.zip连接mysql数据库,导出数据库结构与数据到dzs_mysql.sql 安装l…...
序列化选型:字节流抑或字符串
序列化既可以将对象转换为字节流,也可以转换为字符串,具体取决于使用的序列化方式和场景。 转换为字节流 常见工具及原理:在许多编程语言中,都有将对象序列化为字节流的机制。例如 Python 中的 pickle 模块、Java 中的对象序列化…...
面向实时性的超轻量级动态感知视觉SLAM系统
一、重构后的技术架构设计(基于ROS1 ORB-SLAM2增强) #mermaid-svg-JEJte8kZd7qlnq3E {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-JEJte8kZd7qlnq3E .error-icon{fill:#552222;}#mermaid-svg-JEJte8kZd7qlnq3E .…...
4-3自定义加载器,并添加功能
一、自定义类加载器的实现步骤 继承ClassLoader类 自定义类加载器需继承java.lang.ClassLoader,并选择性地重写以下方法: findClass(String name):核心方法,用于根据类名查找并加载类的字节码。需从自定义路径(…...
Python Scrapy爬虫面试题及参考答案
目录 简述 Scrapy 框架的基本工作流程,并说明各组件的作用 Scrapy 中的 Spider、CrawlSpider 和 Rule 的作用及区别? 如何通过 Scrapy Shell 快速调试页面解析逻辑? Scrapy 的 start_requests 方法与 start_urls 的关系是什么? 解释 Scrapy 的 Request 和 Response 对象…...
Swan 表达式 - 选择表达式
ANSYS Swan 表达式支持选择(selection)表达式 case, if/then/else。选择表达式根据特定的条件选择不同的分支流。 if/then/else 表达式 if/then/else 表达式的文法如下 if expr then expr else expr 其中,首个expr 的布尔表达式,若其为 true, 则返回 …...
微信小程序:完善购物车功能,购物车主页面展示,详细页面展示效果
一、效果图 1、主页面 根据物品信息进行菜单分类,点击单项购物车图标添加至购物车,记录总购物车数量 2、购物车详情页 根据主页面选择的项,根据后台查询展示到页面,可进行多选,数量加减等 二、代码 1、主页面 页…...
javaweb将上传的图片保存在项目文件webapp下的upload文件夹下
前端HTML表单 (upload.html) 首先,创建一个HTML页面,允许用户选择并上传图片。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>图片上传</title> </head> <…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
