当前位置: 首页 > news >正文

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基础-编程练习题和答案 一、查找“支撑数” 【试题描述】 在已知一组整数中&#xff0c; 有这样一种数非常怪&#xff0c; 它们不在第一个&#xff0c; 也不在最后一个&…...

Linux下GraspNet复现流程

Linux&#xff0c;Ubuntu中GraspNet复现流程 文章目录 Linux&#xff0c;Ubuntu中GraspNet复现流程1.安装cuda和cudnn2.安装pytorch3.编译graspnetAPIReference &#x1f680;非常重要的环境配置&#x1f680; 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&#xff08;长短期记忆&#xff09;递归预测原理及步骤详解如下&#xff1a; LSTM递归预测&#xff08;matlab&#xff09;代码获取戳此处代码获取戳此处代码获取戳此处 一、LSTM递归预测原理 LSTM是一种特殊的递归神经网络&#xff08;RNN&#xff09;&#xff0c;它能够…...

计算机网络 备查

OSI 七层模型 七层模型协议各层实现的功能 简要 详细 TCP/IP协议 组成 1.传输层协议 TCP 2.网络层协议 IP 协议数据单元&#xff08;PDU&#xff09;和 封装 数据收发过程 数据发送过程 1. 2.终端用户生成数据 3.数据被分段&#xff0c;并加上TCP头 4.网络层添加IP地址信息…...

查看软件包依赖关系

列出软件包依赖文件列表 rpm -ql 命令用于列出已安装软件包的文件列表。它显示软件包中包含的文件及其对应的路径。 具体来说&#xff0c;-q 选项表示查询已安装的软件包&#xff0c;而 -l 选项表示列出软件包中的文件列表。 例如&#xff0c;如果要查看已安装的 nginx 软件…...

C++ 中 strcmp(a,b) 函数的用法

【C 中 strcmp(a,b) 函数的用法】 ● 若 len(a)>len(b)&#xff0c;则返回1。 ● 若 len(a)len(b)&#xff0c;则返回0。 ● 若 len(a)<len(b)&#xff0c;则返回-1。【C 中 strcmp(a,b) 函数的用法代码一】 #include <bits/stdc.h> using namespace std;int main…...

Servlet(一些实战小示例)

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

【JVM】垃圾回收机制(Garbage Collection)

目录 一、什么是垃圾回收&#xff1f; 二、为什么要有垃圾回收机制&#xff08;GC&#xff09;&#xff1f; 三、垃圾回收主要回收的内存区域 四、死亡对象的判断算法 a&#xff09;引用计数算法 b&#xff09;可达性分析算法 五、垃圾回收算法 a&#xff09;标记-清除…...

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 是一个分布式流处理平台&#xff0c;最初由 LinkedIn 开发&#xff0c;后成为 Apache 软件基金会的顶级项目。 它主要用于构建实时数据管道和流式应用程序。它能够高效地处理高吞吐量的数据&#xff0c;并支持消息发布和订阅模型。Kafka 的主要用途包括实时分析、事件源、…...

LTE的EARFCN和band之间的对应关系

一、通过EARFCN查询对应band 工作中经常遇到只知道EARFCN而需要计算band的情况&#xff0c;因此查了相关协议&#xff0c;找到了他们之间的对应关系&#xff0c;可以直接查表&#xff0c;非常方便。 具体见&#xff1a; 3GPP TS 36.101 5.7.3 Carrier frequency and EAR…...

解决问题:Docker证书到期(Error grabbing logs: rpc error: code = Unknown)导致无法查看日志

问题描述 Docker查看日志时portainer报错信息如下&#xff1a; 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语言】预处理器

我们在开始编写一份程序的时候&#xff0c;从键盘录入的第一行代码&#xff1a; #include <stdio.h>这里就使用了预处理&#xff0c;引入头文件。 C预处理器不是编译器的组成部分&#xff0c;但是它是编译过程中一个单独的步骤。简言之&#xff0c;C预处理器只不过是一…...

QtConcurrent::run操作界面ui的注意事项(2)

前面的“QtConcurrent::run操作界面ui的注意事项&#xff08;1&#xff09;”&#xff0c;末尾说了跨线程的问题&#xff0c;引出了Qt千好万好&#xff0c;就是跨线程不好。下面是认为的最简单的解决办法&#xff1a;使用QMetaObject::invokeMethod&#xff08;相比较信号-槽&a…...

黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程笔记

HarmonyOS NEXT是纯血鸿蒙&#xff0c;鸿蒙原生应用&#xff0c;彻底摆脱安卓 本课程是基于harmony os4的&#xff0c;与next仅部分api有区别 套件 语言&框架 harmony os design ArkTs 语言 ArkUI 提供各种组件 ArkCompiler 方舟编译器 开发&测试 DevEco Studio 开发…...

嵌入式全栈开发学习笔记---C语言笔试复习大全13(编程题9~16)

目录 9.查找字符数组中字符位置&#xff08;输入hello e 输出2&#xff09;&#xff1b; 10、查找字符数组中字符串的位置&#xff08;输入hello ll 输出3&#xff09;&#xff1b; 11、字符数组中在指定位置插入字符&#xff1b;&#xff08;输入hello 3 a 输出heallo…...

https网站安全证书的作用与免费申请办法

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

自动化测试再升级,大模型与软件测试相结合

近年来&#xff0c;软件行业一直在迅速发展&#xff0c;为了保证软件质量和提高效率&#xff0c;软件测试领域也在不断演进。如今&#xff0c;大模型技术的崛起为软件测试带来了前所未有的智能化浪潮。 软件测试一直是确保软件质量的关键环节&#xff0c;但传统的手动测试方法存…...

centos7 基础命令

一、基础信息&#xff1a; 查看IP地址&#xff1a; ip add 重启网络服务&#xff1a; service network restart 查看网卡配置&#xff1a; cat /etc/sysconfig/network-scripts/ifcfg-ens33 启动网卡: ifup ens33 查看内存: free -m 查看CPU&#xff1a; cat /proc/cpuin…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…...