C++ 二级测试卷及答案

1.与指定数字相同的数的个数

题目描述:输出一个整数序列中与指定数字相同的数的个数。
输入
输入包含三行:
第一行为N,表示整数序列的长度(N≤100);
第二行为N个整数,整数之间以一个空格分开;
第三行包含一个整数,为指定的数字m。
输出
输出为N个数中与m相同的数的个数。
输入样例
3
2 3 2
2
输出样例
2

#include<iostream>  
using namespace std;  
int main()  
{  int n,m,a[101];  int ans=0;  int i;  cin>>n;//共有n个数  for(i=1;i<=n;i++)  cin>>a[i];//读入n个数  cin>>m;//指定数m  for(i=1;i<=n;i++)//对数据逐个进行比较  if(a[i]==m)//若与指定数字相同  ans++;//计数器+1  cout<<ans<<endl;  return 0;  
}

2.图像相似度

题目描述
给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。
说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义
为相同像素点数占总像素点数的百分比。
输入
第一行包含两个整数m和n,表示图像的行数和列数,中间用单个空格隔开。1<= m<= 100,1<= n<= 100.
之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。
之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。
输出
一个实数,表示相似度(以百分比的形式给出)精确到小数点后两位。
样例输入
3 3
1 0 1
0 0 1
1 1 0
1 1 0
0 0 1
0 0 1
样例输出
44.44
 

解析:
解决方法:
首先我们要明确我们要做什么?
首先:输入矩阵的行号(m)和列号(n),然后输入一个(2m)*n的矩阵。
前m*n矩阵是第一幅画,后m*n矩阵是第二幅画。
然后我们要找到两幅画之间的联系,第一幅画与第二幅画对应的坐标点的行号始终保持在m个单位的距离。
而他们的列号始终相等。例如:第一幅画的某个坐标点是(2,3),那么第二幅画相对应的坐标点是(2+m,3)
其次我们要去判断,如果两幅画相对应的坐标点相同,则加一。得出总数sum。
最后进行计算:sum/(m*n);

#include <stdio.h>
#include <stdlib.h>
#define Max 101
int main()
{int m,n;int i,j;int sum=0;int matrix[Max][Max];int point;scanf("%d%d",&m,&n);for (i=1;i<=m;i++)for (j=1;j<=n;j++)scanf("%d", &matrix[i][j]);for (i=1;i<=m;i++)for (j=1;j<=n;j++){scanf("%d", &point);if (point==matrix[i][j])sum++;}printf("%.2f",(float)(sum*100)/(m*n));return 0;
}

3.找第一个只出现一次的字符

题目描述:给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入
一个字符串,长度小于100000。
1
输出
输出第一个仅出现一次的字符,若没有则输出no。
1
样例输入
abcabd
样例输出
c

#include<stdio.h>
#include<string.h>
int main()
{char a[100000];int c[100000]={0};				//存放每个字符出现的次数,初始时全为0gets(a);for(int i=0;i<strlen(a);i++)	//遍历字符串中每一个字符{for(int j=0;j<strlen(a);j++)//遍历第二次让a[j]和a[i]对比{if(a[i]==a[j])			c[i]++;				//如果相同c[i]++}if(c[i]==1){printf("%c\n",a[i]);return 0;}}printf("no\n");return 0;
}

4.最大值和最小值的差

题目描述:输入11个整数,计算它们的最大值和最小值。
样例输入
0 1 2 3 4 5 6 7 8 9 10
样例输出
10 0 

#include<stdio.h>
int main(){int a[11];for(int i=0; i<11; i++){scanf("%d",&a[i]);}for(int i=0;i<11-1;i++) {for(int j=i+1;j<11;j++){if(a[i]>a[j]){int t = a[i];a[i] = a[j];a[j] = t;}}}printf("%d %d",a[10],a[0]);
}

5.和为给定数

题目描述:给出若干个整数,询问其中是否有一对数的和等于给定的数。
输入
第一行是整数n(0<n≤100,000),表示有n个整数。
第二行是n个整数。整数的范围是在0到108之间。
第三行是一个整数m(0≤m≤230),表示需要得到的和。
输出
若存在和为m的数对,输出两个整数,小的在前,大的在后,中间用单个空格隔开。若有多个数对满足条件,
选择数对中较小的数更小的。若找不到符合要求的数对,输出一行NO。
样例输入
4
2 5 1 4
6
样例输出
1 5

#include <iostream>
#include <cstdio>
#include <vector>
#include <queue>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <map>
#include <cstdlib>
#define sf(a) scanf("%d\n",&a)
#define pf(a) printf("%.6lf ",a)
#define E 1e-8
#define ms(a) memset(a,0,sizeof a)
#define rep(a,b,c) for(int a=b;a<=c;a++)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int inf=0x3f3f3f3f;
const int idata=1e5+5;
ll minn=inf,maxx=-inf;
ll n,ans,t,k;
char *ch;
ll step[idata];
//ll temp[idata];
ll cnt;
ll query,judge,flag;
priority_queue< int,vector<int>,greater<int> >q;
pair<int,int>p[idata];int main()
{while(cin>>n){rep(i,1,n)cin>>step[i];stable_sort(step+1,step+1+n);cin>>query;rep(i,1,n-1){int temp=query-step[i];if(binary_search(step+1,step+1+n,temp)){cout<<step[i]<<" "<<temp<<endl;return 0;;}}cout<<"No"<<endl;}return 0;
}

6.成绩排序

题目描述:给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
输入
第一行为n(0<n<20),表示班里的学生数目;
接下来的n行,每行为每个学生的名字和他的成绩,中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不
大于100的非负整数。
输出
把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。
输入样例
4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28
输出样例
Joey 92
Hanmeimei 90
Kitty 80
Tim 28

#include<iostream>
using namespace std;
#include <stdio.h>
#include <string.h>
struct node{char name[30];int score;
}stu[30],temp;
int main()
{int n;int i,j;cin>>n;for(i=1;i<=n;i++)cin>>stu[i].name>>stu[i].score;for(i=1;i<=n;i++)for(j=i+1;j<=n;j++)if(stu[i].score<stu[j].score){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}else if(stu[i].score==stu[j].score&&strcmp(stu[i].name,stu[j].name)>0){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}for(i=1;i<=n;i++)cout<<stu[i].name<<" "<<stu[i].score<<endl;return 0;
}

7.计算两个日期之间的天数

计算两个日期间的天数,并在用户输入时检查月份和日期是否有误,有误时要求重新输入。

#include<stdio.h>
#include<stdlib.h>
int func1(int flag,int mon);
int func2(int mon, int day, int year);
int check(int in, int flag);
int main() 
{system("color F0");int year1,year2,mon1,mon2,day1,day2,flag,i,p,n=0,m=0;void input(int *year,int *mon,int *day);void change(int* x, int* y);while (1){printf("请输入起始时间:\n");input(&year1, &mon1, &day1);printf("请输入结束时间:\n");input(&year2, &mon2, &day2);if ((year1 * 10000 + mon1 * 100 + day1) > (year2 * 10000 + mon2 * 100 + day2)){change(&year1, &year2);change(&mon1, &mon2);change(&day1, &day2);}p = year2 - year1;i = p;while (p >= 2){p = p - 1;flag = year1 + p;if ((flag % 4 == 0) && ((flag % 400 == 0) || (flag % 100 != 0))) {n++;}else {m++;}}year1 = ((year1 % 4 == 0) && ((year1 % 400 == 0) || (year1 % 100 != 0))) ? 366 : 365;year2 = ((year2 % 4 == 0) && ((year2 % 400 == 0) || (year2 % 100 != 0))) ? 366 : 365;flag = func2(mon2, day2, year2) - func2(mon1, day1, year1);if (i == 0)printf("日期相差%d天\n\n", flag);else if (i == 1)printf("日期相差%d天\n\n", flag + year1);elseprintf("日期相差%d天\n\n", flag + year1 + n * 366 + m * 365);}return 0;
}
void input(int* year, int* mon, int* day)
{int flag;printf("年:");scanf_s("%d", year);printf("月:");scanf_s("%d", mon);*mon = check(*mon,12);flag = ((*year % 4 == 0) && ((*year % 400 == 0) || (*year % 100 != 0))) ? 1 : 0;flag = func1(flag, *mon);printf("日:");scanf_s("%d", day);*day = check(*day, flag);
}
void change(int* x, int* y)
{int z;z = *y;*y = *x;*x = z;
}
int func1(int flag,int mon)
{int a, b;a = (mon == 2) ? 1 : 0;b = ((mon == 1) || (mon == 3) || (mon == 5) || (mon == 7) || (mon == 8) || (mon == 10) || (mon == 12)) ? 1 : 0;switch (a * 4 + b * 2 + flag){case 0:case 1:return 30; break;case 2:case 3:return 31; break;case 4:return 28; break;case 5:return 29; break;}
}
int func2(int mon, int day, int year)
{int flag,num=0;if (year == 365){for (flag = 1; flag < mon; flag++){num = func1(0, flag) + num;}}else{for (flag = 1; flag < mon; flag++){num = func1(1, flag) + num;}}return num + day;
}
int check(int in, int flag)
{if ((in <= flag) && (in >= 1))return in;else{printf("输入有误,请重新输入:");scanf_s("%d", &in);return check(in,flag);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/57889.shtml

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

相关文章

信息安全工程师(72)网络安全风险评估概述

前言 网络安全风险评估是一项重要的技术任务&#xff0c;它涉及对网络系统、信息系统和网络基础设施的全面评估&#xff0c;以确定存在的安全风险和威胁&#xff0c;并量化其潜在影响以及可能的发生频率。 一、定义与目的 网络安全风险评估是指对网络系统中存在的潜在威胁和风险…

记一次:使用使用Dbeaver连接Clickhouse

前言&#xff1a;使用了navicat连接了clickhouse我感觉不太好用&#xff0c;就整理了一下dbeaver连接 0、使用Navicat连接clickhouse 测试连接 但是不能双击打开&#xff0c;可是使用命令页界面&#xff0c;右键命令页界面&#xff0c;然后可以用sql去测试 但是不太好用&#…

LeetCode_231. 2 的幂_java

1、题目 231. 2 的幂https://leetcode.cn/problems/power-of-two/ 给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n &#xff0c;则认为 n 是 2 的幂次方…

6.1 特征值介绍

一、特征值和特征向量介绍 本章会开启线性代数的新内容。前面的第一部分是关于 A x b A\boldsymbol x\boldsymbol b Axb&#xff1a;平衡、均衡和稳定状态&#xff1b;现在的第二部分是关于变化的。时间会加入进来 —— 连续时间的微分方程 d u / d t A u \pmb{\textrm{d}…

CTF--Misc题型小结

&#xff08;萌新笔记&#xff0c;多多关照&#xff0c;不足之处请及时提出。&#xff09; 不定时更新~ 目录 密码学相关 文件类型判断 file命令 文件头类型 strings读取 隐写术 尺寸修改 文件头等缺失 EXIF隐写 thumbnail 隐写 文件分离&提取 binwalk foremo…

索引的使用和优化

索引就是一种快速查询和检索数据的数据结构&#xff0c;mysql中的索引结构有&#xff1a;B树和Hash。 索引的作用就相当于目录的作用&#xff0c;我么只需先去目录里面查找字的位置&#xff0c;然后回家诶翻到那一页就行了&#xff0c;这样查找非常快&#xff0c; 创建一个表结…

短视频矩阵系统源码开发优势,短视频矩阵系统oem部署

短视频矩阵系统就是在多个短视频平台上构建自己的内容生态&#xff0c;通过多平台、多账号、多内容的运营策略&#xff0c;实现品牌曝光、用户引流、产品销售等目的。短视频矩阵的核心在于通过矩阵式的布局&#xff0c;实现资源优化配置和利用&#xff0c;提升企业市场竞争力。…

.Net 8 Web API CRUD 操作

本次介绍分为3篇文章&#xff1a; 1&#xff1a;.Net 8 Web API CRUD 操作https://blog.csdn.net/hefeng_aspnet/article/details/143228383 2&#xff1a;在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/1…

【C++干货篇】——类和对象的魅力(四)

【C干货篇】——类和对象的魅力&#xff08;四&#xff09; 1.取地址运算符的重载 1.1const 成员函数 将const修饰的成员函数称之为const成员函数&#xff0c;const修饰成员函数放到成员函数参数列表的后面。const实际修饰该成员函数隐含的this指针&#xff08;this指向的对…

nuxt3项目创建

安装 npx nuxilatest init <project-name> 此时会出现报错&#xff0c;需要在host文件中加入 185.199.108.133 raw.githubusercontent.com 再次执行命令&#xff0c;进入安装 此处选择npm&#xff0c;出现下图表示安装成功 启动项目 执行npm run dev&#xff0c;访…

【力扣 + 牛客 | SQL题 | 每日4题】牛客大厂笔试真题SQLW6, W7, W8

1. 牛客大厂笔试真题SQLW6&#xff1a;统计所有课程参加培训人次 1.1 题目&#xff1a; 描述 某公司员工培训信息数据如下&#xff1a; 员工培训信息表cultivate_tb(info_id-信息id,staff_id-员工id,course-培训课程)&#xff0c;如下所示&#xff1a; 注&#xff1a;该公…

【大数据技术基础 | 实验五】ZooKeeper实验:部署ZooKeeper

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验步骤&#xff08;一&#xff09;安装JDK&#xff08;二&#xff09;修改ZooKeeper配置文件&#xff08;三&#xff09;启动ZooKeeper集群 六、实验结果七、实验心得 一、实验目的 掌握ZooKeeper集群安装部署…

基于Netty构建WebSocket服务并实现项目群组聊天和实时消息通知推送

文章目录 前言需求分析技术预研Web端方案服务端技术 技术方案设计思路功能实现添加依赖自定义NettyServer自定义webSocketHandler使用NettyServer向在线用户发送消息 需要完善的地方 前言 我们的项目有个基于项目的在线文档编制模块&#xff0c;可以邀请多人项目组成员在线协同…

python爬虫-爬取蛋白晶体和分子结构

文章目录 前言一、环境准备二、爬取PDB蛋白结构1.下载指定数量的随机PDB2.下载指定靶标的PDB二、从ZINC爬取小分子mol2结构1.下载指定数量的随机分子2.下载指定分子三、从ChEMBL爬取小分子信息1.下载指定ID的SMILES(测试不成功,网站变成readonly了)四、总结爬虫1.查看对应的…

AMD锐龙8845HS+780M核显 虚拟机安装macOS 15 Sequoia 15.0.1 (2024.10)

最近买了机械革命无界14X&#xff0c;CPU是8845HS&#xff0c;核显是780M&#xff0c;正好macOS 15也出了正式版&#xff0c;试试兼容性&#xff0c;安装过程和之前差不多&#xff0c;这次我从外网获得了8核和16核openCore&#xff0c;分享一下。 提前发一下ISO镜像地址和open…

JavaScript完整笔记

JS引入 JavaScript 程序不能独立运行&#xff0c;它需要被嵌入 HTML 中&#xff0c;然后浏览器才能执行 JavaScript 代码。 通过 script 标签将 JavaScript 代码引入到 HTML 中&#xff0c;有两种方式&#xff1a; 内部方式 通过 script 标签包裹 JavaScript 代码 我们将 &…

安装Maven配置以及构建Maven项目(2023idea)

一、下载Maven绿色软件 地址&#xff1a;http://maven.apache.org/download.cgi 尽量不要选择最高版本的安装&#xff0c;高版本意味着高风险的不兼容问题&#xff0c;选择低版本后续问题就少。你也可以选择尝试。 压缩后&#xff1a; 打开后&#xff1a; 在该目录下新建mvn-…

SQLite 3.47.0 发布,大量新功能来袭

SQLite 开发团队于 2024 年 10 月 21 日发布了 SQLite 3.47.0 版本&#xff0c;我们来了解一下新版本的改进功能。 触发器增强 SQLite 3.47.0 版本开始&#xff0c;触发器函数 RAISE() 的 error-message 参数可以支持任意 SQL 表达式。在此之前&#xff0c;该参数只能是字符串…

SQL注入之sqlilabs靶场21-30题

重点插入&#xff1a;html表 第二十一题 分析过程&#xff1a;&#xff08;没有正确的账号密码是否能拿到Cookie&#xff1f;最后注释好像只能使用#&#xff0c;--好像无法注释&#xff09; 查看源码 这里输入账号密码处被过滤了 但Cookie被base64编码了 可以从Cookie入手 …

vue2结合echarts实现数据排名列表——前端柱状进度条排行榜

写在前面&#xff0c;博主是个在北京打拼的码农&#xff0c;工作多年做过各类项目&#xff0c;最近心血来潮在这儿写点东西&#xff0c;欢迎大家多多指教。 数据排名列表——图表开发&#xff0c;动态柱状图表&#xff0c;排名图 UI 直接搜到类似在线代码&#xff08;数据列表…