C++基础-编程练习题2
文章目录
- 前言
- 一、查找“支撑数”
- 二、数组元素的查找
- 三、爬楼梯
- 四、数字交换
- 五、找高于平均分的人
前言
C++基础-编程练习题和答案
一、查找“支撑数”
【试题描述】
在已知一组整数中, 有这样一种数非常怪, 它们不在第一个, 也不在最后一个, 而且刚好都
比左边和右边相邻的数大, 你能找到它们吗?
【输入要求】
第一行为整数 m, 表示输入的整数个数。 ( 3≤ m ≤100 ) 第二行为 m 个整数。
【输出要求】
若干个支撑数, 每行一个。
【输入样例】
14
1 3 2 4 1 5 3 9 7 10 8 23 85 43
【输出样例】
3
4
5
9
10
85
#include <bits/stdc++.h>
using namespace std;
/*
在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和右边相邻的数大,你能找到它们吗?
*/
int main() { //定义变量mint m; cin >> m; // 输入整数的个数 if (m < 3 || m > 100) { cout << "输入的整数个数不符合要求!" << endl; return 1; } //定义m个元素的数组int nums[m]; for (int i = 0; i < m; ++i) { cin >> nums[i]; // 输入整数 } // 遍历整数数组,跳过第一个和最后一个元素for (int i = 1; i < m - 1; ++i) { if (nums[i] > nums[i - 1] && nums[i] > nums[i + 1]) { // 如果当前数比左右两边的数都大,则是支撑数 cout << nums[i]<<endl; } } return 0;
}
二、数组元素的查找
【试题描述】
给你 m 个整数, 查找其中有无值为 x 的数, 输出 x 一共有几个.
【输入要求】
第一行一个整数 m: 数的个数 ( 0 ≤ m ≤ 100 )
第二行 m 个整数(空格隔开) ( 这些数在 0-999999 范围内 )
第三行为要查找的数 x
【输出要求】
一个整数, 表示 x 的个数。
【输入样例】
7
10 21 3 3 5 3 7
3
【输出样例】
3
代码如下:
#include <bits/stdc++.h>using namespace std;
/*** 给你 m 个整数, 查找其中有无值为 x 的数, 输出 x 一共有几个.* @return */
int main() { int m; cin >> m; // 读取整数个数 // 创建一个大小为m的整数数组int nums[m];for (int i = 0; i < m; ++i) { cin >> nums[i]; // 读取每个整数 } int x; cin >> x; // 读取要查找的数x int count = 0; // 初始化计数器 // 遍历整数数组 for(int i=0;i<m;i++){ if (nums[i] == x) { // 如果找到与x相等的数 ++count; // 计数器加1 } } cout << count << endl; // 输出x的个数 return 0;
}
三、爬楼梯
【试题描述】
有一段楼梯有 n 级台阶,规定每一步只能跨一级或两级,要登上第 m 级台阶有几种不同的走法?
(n<=1000, m<n)
【输入要求】
一行, 两个正整数 n 和 m。
【输出要求】
一个整数
【输入样例】
10 4
【输出样例】
5
#include <bits/stdc++.h>using namespace std;
/*
有一段楼梯有 n 级台阶,规定每一步只能跨一级或两级,要登上第 m 级台阶有几种不同的走法?
*/int main() { int n, m; cin >> n >> m; // 这里n是楼梯的总级数,但根据题目要求,我们只需要计算到达第m级台阶的方法数 if (m <= 2) { return m; } //定义m级台阶走法数组int dp[m];//一级台阶1种走法dp[0] = 1; //二级台阶2种走法dp[1] = 2; //第i级台阶走法=第i-1级台阶走法+第i-2级台阶走法for (int i = 2; i < m; ++i) { dp[i] = dp[i - 1] + dp[i - 2]; } //第 m 级台阶的走法数cout << dp[m - 1] << endl; return 0;
}
四、数字交换
【试题描述】
有一组数(设有 N 个) 。 有 M 组操作,每组操作交换给定的两个数.编一程序输出经过 M 次
交换后的数组。
【输入要求】
第一行, 两个数 N, M(不超过 20 个)
第二行 N 个数, 由空格分开
从第三行开始连续有 M 行, 每行 2 个数字(即 M 组数) 。
以其中一行数字举例: 比如 3 5 表示第三个数和第五个数交换。
【输出要求】
交换后的一行数(中间用空格隔开)
【输入样例】
16 2
3 6 11 45 23 70 67 34 26 89 90 15 56 50 20 10
3 5
13 15
【输出样例】
3 6 23 45 11 70 67 34 26 89 90 15 20 50 56 10
#include <bits/stdc++.h>using namespace std;
/**有一组数(设有 N 个),有 M 组操作,每组操作交换给定的两个数.编一程序输出经过 M 次交换后的数组。*/
int main() { int n, m; cin >> n >> m; // 读取数组长度和操作次数 //定义数组int nums[n]; for (int i = 0; i < n; i++) { cin >> nums[i]; // 读取初始数组 } // 执行交换操作 for (int i = 1; i <= m; ++i) { int index1, index2; cin >> index1 >> index2; // 读取需要交换的两个数的索引 index1=index1-1;// 注意:C++中的数组索引是从0开始的,所以要将输入的索引减1 // tmp用于交换的中间变量 交换两个数 int tmp=nums[index1];nums[index1]=nums[index2 - 1];nums[index2 - 1]=tmp;} // 输出交换后的数组 for (int i = 0; i < n; ++i) { cout << nums[i] << " "; } return 0;
}
五、找高于平均分的人
【试题描述】
全班 n 个同学的成绩需要按学号读入, 请找出所有高于班级的平均同学。
【输入要求】
两行, 第一行为一个正整数 n, 第二行为 n 个实数, 每个实数之间用一个空格分隔。
【输出要求】
一行, 输出高于班平均的同学的学号, 场宽为 10。
【输入样例】
5
92 97.5 93 87 89
输出样例
1 2 3
#include <bits/stdc++.h>using namespace std;
/**全班 n 个同学的成绩需要按学号读入, 请找出所有高于班级的平均同学。*/
int main() { int n; cin >> n; // 读取学生数量 double scores[n];//循环读取n个学生数量for (int i = 0; i < n; ++i) { cin >> scores[i]; // 读取第i个学生成绩 } double sum = 0.0; for (int i = 0; i < n; ++i) { // 计算成绩总和 sum += scores[i]; } // 计算平均成绩 double average = sum / n; //cout<<"平均分"<<average<<endl;for (int i = 0; i < n; ++i) { if (scores[i] > average) { // 输出高于平均分的同学学号,学号是从1开始的cout << setw(10) << (i + 1) << " "; } } cout << endl; // 输出结束后换行 return 0;
}
相关文章:
C++基础-编程练习题2
文章目录 前言一、查找“支撑数”二、数组元素的查找三、爬楼梯四、数字交换五、找高于平均分的人 前言 C基础-编程练习题和答案 一、查找“支撑数” 【试题描述】 在已知一组整数中, 有这样一种数非常怪, 它们不在第一个, 也不在最后一个&…...

Linux下GraspNet复现流程
Linux,Ubuntu中GraspNet复现流程 文章目录 Linux,Ubuntu中GraspNet复现流程1.安装cuda和cudnn2.安装pytorch3.编译graspnetAPIReference 🚀非常重要的环境配置🚀 ubuntu 20.04cuda 11.0.1cudnn v8.9.7python 3.8.19pytorch 1.7.0…...
Linux——MySQL5.7编译安装、RPM安装、yum安装
文章目录 Linux——MySQL5.7编译安装、RPM安装、yum安装一、编译安装二、RPM安装三、yum安装 Linux——MySQL5.7编译安装、RPM安装、yum安装 卸载mysql # 查看是否安装了mysql [rootcsq ~]# rpm -qa |grep mysql mysql-community-server-5.7.36-1.el7.x86_64 mysql-community-c…...

LSTM递归预测(matlab)
LSTM(长短期记忆)递归预测原理及步骤详解如下: LSTM递归预测(matlab)代码获取戳此处代码获取戳此处代码获取戳此处 一、LSTM递归预测原理 LSTM是一种特殊的递归神经网络(RNN),它能够…...

计算机网络 备查
OSI 七层模型 七层模型协议各层实现的功能 简要 详细 TCP/IP协议 组成 1.传输层协议 TCP 2.网络层协议 IP 协议数据单元(PDU)和 封装 数据收发过程 数据发送过程 1. 2.终端用户生成数据 3.数据被分段,并加上TCP头 4.网络层添加IP地址信息…...
查看软件包依赖关系
列出软件包依赖文件列表 rpm -ql 命令用于列出已安装软件包的文件列表。它显示软件包中包含的文件及其对应的路径。 具体来说,-q 选项表示查询已安装的软件包,而 -l 选项表示列出软件包中的文件列表。 例如,如果要查看已安装的 nginx 软件…...
C++ 中 strcmp(a,b) 函数的用法
【C 中 strcmp(a,b) 函数的用法】 ● 若 len(a)>len(b),则返回1。 ● 若 len(a)len(b),则返回0。 ● 若 len(a)<len(b),则返回-1。【C 中 strcmp(a,b) 函数的用法代码一】 #include <bits/stdc.h> using namespace std;int main…...

Servlet(一些实战小示例)
文章目录 一、实操注意点1.1 代码修改重启问题1.2 Smart Tomcat的日志1.3 如何处理错误 一. 抓自己的包二、构造一个重定向的响应,让页面重定向到百度主页三、让服务器返回一个html数据四、表白墙4.1 约定前后端数据4.2 前端代码4.3 后端代码4.4 保存在数据库的版本…...

【JVM】垃圾回收机制(Garbage Collection)
目录 一、什么是垃圾回收? 二、为什么要有垃圾回收机制(GC)? 三、垃圾回收主要回收的内存区域 四、死亡对象的判断算法 a)引用计数算法 b)可达性分析算法 五、垃圾回收算法 a)标记-清除…...
C++中的priority_queue模拟实现
目录 priority_queue模拟实现 priority_queue类定义 priority_queue构造函数 priority_queue类push()函数 priority_queue类pop()函数 priority_queue类size()函数 priority_queue类empty()函数 priority_queue类top()函数 仿函数与priority_queue类模拟实现 仿函数 …...
【Kafka】1.Kafka核心概念、应用场景、常见问题及异常
Kafka 是一个分布式流处理平台,最初由 LinkedIn 开发,后成为 Apache 软件基金会的顶级项目。 它主要用于构建实时数据管道和流式应用程序。它能够高效地处理高吞吐量的数据,并支持消息发布和订阅模型。Kafka 的主要用途包括实时分析、事件源、…...
LTE的EARFCN和band之间的对应关系
一、通过EARFCN查询对应band 工作中经常遇到只知道EARFCN而需要计算band的情况,因此查了相关协议,找到了他们之间的对应关系,可以直接查表,非常方便。 具体见: 3GPP TS 36.101 5.7.3 Carrier frequency and EAR…...

解决问题:Docker证书到期(Error grabbing logs: rpc error: code = Unknown)导致无法查看日志
问题描述 Docker查看日志时portainer报错信息如下: Error grabbing logs: rpc error: code Unknown desc warning: incomplete log stream. some logs could not be retrieved for the following reasons: node klf9fdsjjt5tb0w4hxgr4s231 is not available报错…...
【C语言】预处理器
我们在开始编写一份程序的时候,从键盘录入的第一行代码: #include <stdio.h>这里就使用了预处理,引入头文件。 C预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C预处理器只不过是一…...
QtConcurrent::run操作界面ui的注意事项(2)
前面的“QtConcurrent::run操作界面ui的注意事项(1)”,末尾说了跨线程的问题,引出了Qt千好万好,就是跨线程不好。下面是认为的最简单的解决办法:使用QMetaObject::invokeMethod(相比较信号-槽&a…...

黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程笔记
HarmonyOS NEXT是纯血鸿蒙,鸿蒙原生应用,彻底摆脱安卓 本课程是基于harmony os4的,与next仅部分api有区别 套件 语言&框架 harmony os design ArkTs 语言 ArkUI 提供各种组件 ArkCompiler 方舟编译器 开发&测试 DevEco Studio 开发…...

嵌入式全栈开发学习笔记---C语言笔试复习大全13(编程题9~16)
目录 9.查找字符数组中字符位置(输入hello e 输出2); 10、查找字符数组中字符串的位置(输入hello ll 输出3); 11、字符数组中在指定位置插入字符;(输入hello 3 a 输出heallo…...

https网站安全证书的作用与免费申请办法
HTTPS网站安全证书,也称为SSL证书,网站通过申请SSL证书将http协议升级到https协议 HTTPS网站安全证书的作用 1 增强用户信任:未使用https协议的网站,用户访问时浏览器会有“不安全”弹窗提示 2 提升SEO排名:搜索引擎…...

自动化测试再升级,大模型与软件测试相结合
近年来,软件行业一直在迅速发展,为了保证软件质量和提高效率,软件测试领域也在不断演进。如今,大模型技术的崛起为软件测试带来了前所未有的智能化浪潮。 软件测试一直是确保软件质量的关键环节,但传统的手动测试方法存…...
centos7 基础命令
一、基础信息: 查看IP地址: ip add 重启网络服务: service network restart 查看网卡配置: cat /etc/sysconfig/network-scripts/ifcfg-ens33 启动网卡: ifup ens33 查看内存: free -m 查看CPU: cat /proc/cpuin…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...