2022C语言二级真题
目录
数组逆序重放
题目描述
样例
最长最短单词
题目描述
样例
统计误差范围内的数
题目描述
样例
有趣的跳跃
题目描述
样例
数字放大
题目描述
样例
内部元素之和
题目描述
样例
满足条件的数的累加
题目描述
样例
偶数降序输出
题目描述
样例
字符统计
题目描述
样例
统计指定范围里的数
题目描述
样例
按照个位数排序
题目描述
样例
计算矩阵边缘元素之和
题目描述
样例
最长最短单词
题目描述
样例
数组逆序重放
题目描述
将一个数组中的值按逆序重新存放。例如,原来的顺序为8 6 5 4 1,要求改为1 4 5 6 8。
输入格式
输入为两行:第一行数组中元素的个数n,第二行是n个整数,每两个整数之间用空格分隔。
输出格式
输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
样例
输入样例
5
8 9 5 4 1
输出样例
1 4 5 9 8
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{int a[110];int n;cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}for(int i = n-1;i>=0;i--){cout<<a[i]<<" ";}return 0;
}
最长最短单词
题目描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入格式
一行句子。
输出格式
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例
样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{char a[20000];char wlong[200];char wshort[200],word[200];int numlong=0,numshort=100;int i,n,l,k,cl;l=0;k=0;cin.getline(a,20000);n=strlen(a);for(i=0;i<=n;i++){if(a[i]!=' '&&a[i]!=','&&a[i]!=0){l++;word[k]=a[i];k++;}if(a[i]==' '||a[i]==','||a[i]==0){if(l>numlong){numlong=l;strcpy(wlong,word);}if(l>0&&l<numshort){numshort=l;strcpy(wshort,word);}l=0;k=0;for(cl=0;cl<=200;cl++)word[cl]='\0';}}cout<<wlong<<endl;cout<<wshort;return 0;
}
统计误差范围内的数
题目描述
统计一个整数序列中与指定数字m误差范围小于等于X的数的个数。
输入格式
输入包含三行:第一行为N,表示整数序列的长度(N<=100);第二行为N个整数,整数之间以一个空格分开;第三行包含2个整数,为指定的整数m,误差范围X。
输出格式
输出输出为N个数中与指定数字m误差范围小于等于X的数的个数。
样例
样例输入
5
1 2 3 4 5
3 1
样例输出
3
样例解释
提示样例中2,3,4都满足条件,故答案为3
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{int n;cin>>n;int a[110];for(int i = 0;i<n;i++){cin>>a[i];}int m,x;cin>>m>>x;int sum = 0;for(int i = 0;i<n;i++){if(a[i] < m+x){sum++;}}cout<<sum;return 0;
}
有趣的跳跃
题目描述
在一个长度为n的数字序列中,如果相邻元素差的绝对值经过升序排序后正好是1~n-1,则认定该序列存在“有趣的跳跃”。
例如:数字序列1、4、2、3 的相邻数字差的绝对值分别为3、2、1,排序后是1、2、3,说明该序列存在着“有趣的跳跃”。
现在给你一个序列,请你判断该序列是否存在“有趣的跳跃”。
输入格式
第1 行为一个整数(不超过100000)。
接下来一行为个不超过100000 的整数。
输出格式
若存在,输出“yes”,否则输出“no”。
样例
样例输入:
4
1 4 2 3
样例输出:
yes
#include<iostream>
#include<iomanip>
#include<string.h>
using namespace std;
int main()
{int n;cin>>n;int a[110];for(int i = 0;i<n;i++){cin>>a[i];}int sum = 0;for(int i = 0;i<n;i++){if(a[i] >=1 || a[i] <= n-1){sum++;}}if(sum>0){cout<<"yes";}else{cout<<"no";}return 0;
}
数字放大
题目描述
给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。
输入格式
包含三行:
第一行为N,表示整数序列的长度(N ≤ 100);
第二行为N个整数(不超过整型范围),整数之间以一个空格分开;
第三行包含一个整数(不超过整型范围),为指定的整数x。
输出格式
N个整数,为原序列放大之后的序列,整数之间以一个空格分开。
样例
样例输入
3
1 5 7
2
样例输出
2 10 14
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int a[110];int n;cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}int x;cin>>x;for(int i = 0;i<n;i++){cout<<a[i]*x<<" ";}return 0;
}
内部元素之和
题目描述
输入一个整数矩阵,计算位于矩阵内部的元素之和。所谓矩阵内部的元素,不在第一行和最后一行的元素以及第一列和最后一列的元素。
输入格式
第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格分开。接下来输入的m行数据中,每行包含n个整数(每个数大于等于0,小于1000),整数之间以一个空格分开。
输出格式
输出对应矩阵的内部元素和
样例
样例输入
3 3
3 4 1
3 7 1
2 0 1
样例输出
7
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int a[110];int n;cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}int x;cin>>x;for(int i = 0;i<n;i++){cout<<a[i]*x<<" ";}return 0;
}
满足条件的数的累加
题目描述
现有n个整数,将其中个位数为k的数进行累加求和。
输入格式
第一行两个整数n、k,以空格分隔。(0 < n < 1000, 0 ≤ k ≤ 9)第二行n个非负整数,以空格分隔,每个数不大于100000。
输出格式
输出满足题目要求的累加和。
样例
样例输入
10 7
2 5 7 17 11 18 4 27 1 7
样例输出
58
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int a[110];int n,k;cin>>n>>k;for(int i = 0;i<n;i++){cin>>a[i];}int sum = 0;for(int i = 0;i<n;i++){if(a[i]%10 == k){sum = sum + a[i];}}cout<<sum;return 0;
}
偶数降序输出
题目描述
给定一个长度为N(不大于500)的正整数序列,请将其中的所有偶数取出,并按降序输出。
输入格式
共2行:第1行为N;第2行为N 个正整数,其间用空格间隔。
输出格式
降序输出的偶数序列,数之间以空格间隔。数据保证至少有一个偶数。
样例
样例输入
10
1 3 2 6 5 4 9 8 7 10
样例输出
10 8 6 4 2
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int a[110];int b[110];int n;cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}int s = 0;for(int i = 0;i<n;i++){if(a[i]%2 == 0){b[s] = a[i];s++;}}for(int i = 0;i<=s;i++){if(b[i]<b[i+1]){int f = b[i];b[i] = b[i+1];b[i+1] = f;}}for(int i = 0;i<=s;i++){cout<<b[i]<<" ";}return 0;
}
字符统计
题目描述
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
输入格式
输入包含一行,一个字符串,长度不超过1000。
输出格式
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
样例
样例输入
abbccc
样例输出
c 3
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int a[110];int b[110];int n;cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}int s = 0;for(int i = 0;i<n;i++){if(a[i]%2 == 0){b[s] = a[i];s++;}}for(int i = 0;i<=s;i++){if(b[i]<b[i+1]){int f = b[i];b[i] = b[i+1];b[i+1] = f;}}for(int i = 0;i<=s;i++){cout<<b[i]<<" ";}return 0;
}
统计指定范围里的数
题目描述
给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。
输入格式
第一行1个整数n、分别表示序列的长度。
第二行n个正整数,表示序列里的每一个数,每个数小于等于10000000。
第三行2个整数L、R,分别表示区间的左端点,区间的右端点。
输出格式
输出一个整数,表示序列中大于等于L且小于等于R的数的个数。
样例
样例输入
5
11 8 1 10 16
1 10
样例输出
3
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int n;cin>>n;int a[110];for(int i = 0;i<n;i++){cin>>a[i];}int l,r;cin>>l>>r;int sum = 0;for(int i = 0;i<n;i++){if(a[i]>=l && a[i]<=r){sum++;}}cout<<sum;return 0;
}
按照个位数排序
题目描述
对于给定的正整数序列,按照个位数从小到大排序,个位数相同的按照本身大小从小到大排序。
输入格式
第一行1个整数n,表示序列的大小。( 0 < n ≤ 1000) 第二行n个正整数,表示序列的每个数,每个数不大于100000000。
输出格式
输出按照题目要求排序后的序列
样例
样例输入
6
17 23 9 13 88 10
样例输出
10 13 23 17 88 9
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int a[110];int n,j,temp;cin>>n;for(int i=0;i<n;i++){cin>>a[i];j=i-1;temp=a[i];while(j>=0 && (temp%10<a[j]%10||(temp%10==a[j]%10&&temp<a[j]))){a[j+1]=a[j];j--;}a[j+1]=temp;}for(int i=0;i<n;i++){cout<<a[i]<<" ";}return 0;
}
计算矩阵边缘元素之和
题目描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。
所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
输入格式
第一行分别为矩阵的行数n和列数m,两者之间以一个空格分开。
接下来输入的n行数据中,每行包含m个整数,整数之间以一个空格分开。
输出格式
输出对应矩阵的边缘元素和。
样例
样例输入
3 3
3 4 1
3 7 1
2 0 1
样例输出
15
#include <iostream>
#include<string.h>
using namespace std;
int main()
{int a[110][110];int n,m;for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){cin>>a[i][j];}}int sum = 0;for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){if( i == 1 || i == m || j == 1 || j == n ){sum = sum + a[i][j];}}}cout<<sum;return 0;
}
最长最短单词
题目描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入格式
一行句子。
输出格式
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例
样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
#include <iostream>
#include<string.h>
using namespace std;
int main()
{char str[30000],c;int sum = 0;int max = -1;int max1;int min = 1000;int min1;int i,j,k;i=0;while((c=getchar())!=EOF){str[i++]=c;}str[i]='\0'; for(j=0;j<i;j++){if(str[j]==' '||str[j]==','||str[j]=='.'){if(sum>max){max=sum;max1=j;}if(sum<min&&sum>0){min=sum;min1=j;}sum=0;}else{sum++;}}for(k=max1-max;k<max1;k++){printf("%c",str[k]);}printf("\n");for(k=min1-min;k<min1;k++){printf("%c",str[k]);}printf("\n");return 0;}
相关文章:
2022C语言二级真题
目录 数组逆序重放 题目描述 样例 最长最短单词 题目描述 样例 统计误差范围内的数 题目描述 样例 有趣的跳跃 题目描述 样例 数字放大 题目描述 样例 内部元素之和 题目描述 样例 满足条件的数的累加 题目描述 样例 偶数降序输出 题目描述 样例 字符统…...
智慧购房:链家网上海在售楼盘数据解析与模型构建
1.项目背景 随着中国经济的快速发展,上海作为国际化大都市,其房地产市场一直备受关注,购房者在面对庞大且复杂的楼盘信息时,往往感到困惑和不知所措,为了帮助购房者更好地了解市场行情,做出明智的购房决策,本项目选择了链家网上海市在售楼盘数据,进行了全面的数据分析…...

二进制数转字符串
题目链接 二进制数转字符串 题目描述 注意点 32位包括输出中的 “0.” 这两位题目保证输入用例的小数位数最多只有 6 位 解答思路 将小数转为二进制的思路是将小数乘2,如果整数部分为1,则说明第i位是1(第i位则乘了2的几次方)…...
WINDOWS系统jdk和maven明明安装了cmd里却无法使用相关命令
今天当了回s b 新电脑jdk和maven装是装了,系统变量也配置了,但没配置完,javahome和mavenhome没配置,结果cmdjdk和maven版本都查不到,我真s b啊 配置 JAVA_HOME 环境变量: 右键点击“此电脑”或者“我的电…...

基于EasyAnimate模型的视频生成最佳实践
EasyAnimate是阿里云PAI平台自主研发的DiT的视频生成框架,它提供了完整的高清长视频生成解决方案,包括视频数据预处理、VAE训练、DiT训练、模型推理和模型评测等。本文为您介绍如何在PAI平台集成EasyAnimate并一键完成模型推理、微调及部署的实践流程。 …...

linux最大线程数限制及打开最大文件数
1.root用户下执行 ulimit -a 然后查看 max user processes 这个值通常是系统最大线程数的一半 max user processes:当前用户同时打开的进程(包括线程)的最大个数为 2.普通用户下 ulimit -a 出现的max user processes的值 默认是 /etc/security/limits.d/20-nproc.co…...

MyBatis系列七: 一级缓存,二级缓存,EnCache缓存
缓存-提高检索效率的利器 官方文档 一级缓存基本介绍快速入门Debug一级缓存执行流程一级缓存失效分析 二级缓存基本介绍快速入门Debug二级缓存执行流程注意事项和使用细节 mybatis的一级缓存和二级缓存执行顺序小实验细节说明 EnCache缓存基本介绍配置和使用EhCache细节说明 My…...
C++迈向精通:函数指针对象与函数对象
C:指针对象 C语言中的函数指针 在C语言中,我们见过如下的函数指针: int add(int a, int b) {return a b; }int main() {int a, b;int (*p)(int, int) add;scanf("%d%d", &a, &b);p(a, b);return 0; } 为了适应C中面向…...
类和对象知识点
面向对象概念回顾 万物皆对象 用程序来抽象(形容)对象 用面向对象的思想来编程 什么是类 基本概念 具有相同特征,具有相同行为,一类事物的抽象。 类是对象的模板,可以通过类创建出对象,类的关键词—…...

【FAS】《Survey on face anti-spoofing in face recognition》
文章目录 原文基于手工设计特征表达的人脸活体检测方法基于深度学习的人脸活体检测方法基于融合策略的人脸活体检测方法人脸检测活体数据库点评 原文 邓雄,王洪春,赵立军等.人脸识别活体检测研究方法综述[J].计算机应用研究,2020,37(09):2579-2585.DOI:10.19734/j.issn.1001-3…...

【Unity】RPG2D龙城纷争(一)搭建项目、导入框架、前期开发准备
更新日期:2024年6月12日。 项目源码:后续章节发布 免责声明:【RPG2D龙城纷争】使用的图片、音频等所有素材均有可能来自互联网,本专栏所有文章仅做学习和教程目的,不会将任何素材用于任何商业用途。 索引 【系列简介】…...
多目标跟踪中检测器和跟踪器如何协同工作的
多目标跟踪中检测器和跟踪器如何协同工作的 flyfish 主要是两者 接口间的交互 假设 原始图像尺寸:1920(宽)x 1080(高) 模型输入尺寸:640(宽)x 640(高) 检…...
kali系统几个开机启动项的区别
1、Live system (amd64) 简单的模式 ,启动系统,直接进入 Kali,在系统中的所有的操作和设置都会在下次重启时失效。 Kali 中保存/编辑的所有东西都会重启丢失。 2、Live system (amd64 fail-safe mode) 这种模式与 Live (amd64) 类似…...

【自撰写】【国际象棋入门】第5课 常见开局战术组合(一)
第5课 常见开局战术组合(一) 本次课中,我们简要介绍几种常见的开局战术组合。开局当中,理想的情况是,己方的两只(或以上)轻子相互配合,或者与己方的兵配合,在完成布局的…...

高考志愿填报选专业,女孩就业率最好的专业有哪些?
高考志愿填报选专业, 大家都会关心:将来怎么就业? 按照目前的环境来说,女孩的就业是不乐观的,在职场上,绝大部分岗位都是男性优先的,至少短期内可能还无法改变,这样就要求我们在大学…...
yolov5模型训练早停模型变大
目录 1. 背景2. 原因分析2.1 train代码分析2.2 strip_optimizer函数分析 3. 验证 1. 背景 最近使用tph-yolov5训练yolov5l-tph-plus模型时,发现模型收敛的差不多了,就果断的停止了训练,结果发现last.pt和best.pt竟然488M,而正常训…...
next是什么???
大家都知道最近出了一个很火的框架,Next.js框架。很多大公司(例如:Tencent腾讯,docker,Uber)的项目都在使用这个Next.js框架。那Next.js到底是一个什么框架呢?Next.js有什么优点呢?今…...

K8s的资源对象
资源对象是 K8s 提供的一些管理和运行应用容器的各种对象和组件。 Pod 资源是 K8s 中的基本部署单元,K8s通过Pod来运行业务应用的容器镜像 Job 和 CronJob 资源用于执行任务和定时任务,DaemonSet 资源提供类似每个节点上守护进程, Deployment…...

OpenStack快速入门
任务一 熟悉OpenStack图形界面操作 1.1 Horizon项目 •各OpenStack服务的图形界面都是由Horizon提供的。 •Horizon提供基于Web的模块化用户界面。 •Horizon为云管理员提供一个整体的视图。 •Horizon为终端用户提供一个自主服务的门户。 •Horizon由云管理员进行管理…...

STM32CubeIDE对STM32F072进行ADC配置及使用
目录 1. 配置2. 时钟3. ADC配置4. 代码补充 1. 配置 引脚配置:PB0 2. 时钟 都是48MHz 3. ADC配置 ADC配置: 开启中断: 4. 代码补充 轮训ADC采样: HAL_ADC_PollForConversion(&hadc,10);ADC采样: HAL_ADC_Start (&a…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...