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

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);}
}

相关文章:

C++ 二级测试卷及答案

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

Java基础(7)图书管理系统

目录 1.前言 2.正文 2.1思路 2.2Book包 2.3people包 2.4operation包 2.5主函数 3.小结 1.前言 哈喽大家好吖&#xff0c;今天来给前面Java基础的学习来一个基础的实战&#xff0c;做一个简单的图书管理系统&#xff0c;这里边综合利用了我们之前学习到的类和对象&…...

使用 Spring Boot 实现图片上传

目录 一、前言 二、项目准备 2.1、创建SpringBoot项目 2.2、项目结构 2.3、配置文件 2.4、创建控制器 2.5、创建服务 2.6创建前端界面 2.7、静态资源 三、运行项目 四、测试上传功能 总结 一、前言 在现代 web 开发中&#xff0c;图片上传功能是一个…...

深度解析跨境支付之产品架构

跨境支付企业有能力开放更多的底层能力接口给到外界合作伙伴。其中包括购汇及申报、结汇及申报、换汇&#xff08;包含汇率查询和外汇兑换、远期锁汇等功能&#xff09;、境外本地下单、查询、退款、外汇跨境收款、海外代发、VA账户开户及余额查询、VCC发卡及查询等能力。 在这…...

Linux下的线程同步与死锁避免

文章目录 死锁的四个必要条件破坏死锁条件的方法破坏互斥条件使用读写锁&#xff08;pthread_rwlock_t&#xff09; 破坏持有并等待条件一次性申请所有资源 破坏不可剥夺条件使用超时锁定机制可重入锁&#xff08;递归锁&#xff09; 破坏循环等待条件统一锁顺序 在 Linux 下进…...

【Python爬虫实战】Selenium自动化网页操作入门指南

#1024程序员节&#xff5c;征文# &#x1f308;个人主页&#xff1a;易辰君-CSDN博客 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、准备工作 &#xff08;一&#xff09;安装 Selenium 库 &#xff0…...

mono源码交叉编译 linux arm arm64全过程

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

矩阵的可解性:关于Ax=b的研究

上一篇文章讲解了如何求解 A x 0 Ax0 Ax0&#xff0c;得到 A A A的零空间。 类似的&#xff0c;我们今天学习的是如何求解 A x b Axb Axb&#xff0c;并以此加强你对线性代数中&#xff0c;代数与空间的理解。 同样的&#xff0c;我们举与上一次一样的例子&#xff0c;矩阵 …...

10.22.2024刷华为OD C题型(三)--for循环例子

脚踝动了手术&#xff0c;现在宾馆恢复&#xff0c;伤筋动骨一百天还真不是说笑的&#xff0c;继续努力吧。 文章目录 靠谱的车灰度图恢复灰度图恢复 -- for循环使用例子 靠谱的车 https://www.nowcoder.com/discuss/564514429228834816 这个题目思路不难&#xff0c;就是要自…...

QT:MaintenanceTool 模块安装工具

QT的MaintenanceTool 工具对已安装的 Qt 进行卸载、修复等其他操作时提示At least one valid and enabled repository required for this action to succeed 解决方式&#xff1a;在设置中添加一个临时的仓库 https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepositor…...

同标签实现监听LocalStorage

使用 React 生命周期函数 useEffect来监听和处理 LocalStorage 的变化 import React, { useEffect } from react;const LocalStorageListener () > {useEffect(() > {// 注册监听器const handleStorageChange (event) > {if (event.key myKey) {console.log(注册…...

JAVA高性能缓存项目

版本一 代码实现 import java.util.HashMap; import java.util.concurrent.TimeUnit;public class CacheExample01 {private final static HashMap<String, Integer> cache new HashMap<>();public static Integer check(String userId) throws InterruptedExce…...

智慧农业大数据平台:智汇田园,数驭未来

智慧农业大数据平台 计讯物联智慧农业大数据平台是一个集管理数字化、作业自动化、生产智能化、产品绿色化、环境信息化、服务现代化于一体的多功能监管系统。它通过与硬件产品的搭配使用&#xff0c;实现对农业生产全过程的实时监测、精准控制和科学管理。该平台集成了多个数…...

Go语言基础教程:可变参数函数

Go 语言允许函数接收可变数量的参数&#xff0c;这种特性对于处理数量不确定的参数特别有用。在本教程中&#xff0c;我们将通过示例代码讲解如何定义和使用 Go 的可变参数函数。 package mainimport "fmt"// 定义一个可变参数函数 sum&#xff0c;接收任意数量的整…...

高并发场景下解决并发数据不一致

简单的场景: 全量数据更新的情况下, 不在乎同一秒的请求都必须要成功, 只留下最新的更新请求数据 方案常用的是 1、数据库增加时间戳标识实现的乐观锁, 请求参数从源头带上微秒或者毫秒时间戳数据库存储, 然后在更新SQL语句上比较 (数据库的时间 < 参数传递的时间) 例如: A…...

OpenAI GPT-o1实现方案记录与梳理

本篇文章用于记录从各处收集到的o1复现方案的推测以及介绍 目录 Journey Learning - 上海交通大学NYUMBZUAIGAIRCore IdeaKey QuestionsKey TechnologiesTrainingInference A Tutorial on LLM Reasoning: Relevant methods behind ChatGPT o1 - UCL汪军教授Core Idea先导自回归…...

Excel:vba实现生成随机数

Sub 生成随机数字()Dim randomNumber As IntegerDim minValue As IntegerDim maxValue As Integer 设置随机数的范围(假入班级里面有43个学生&#xff0c;学号是从1→43)minValue 1maxValue 43 生成随机数(在1到43之间生成随机数)randomNumber Application.WorksheetFunctio…...

Python | Leetcode Python题解之第506题相对名次

题目&#xff1a; 题解&#xff1a; class Solution:desc ("Gold Medal", "Silver Medal", "Bronze Medal")def findRelativeRanks(self, score: List[int]) -> List[str]:ans [""] * len(score)arr sorted(enumerate(score), …...

安全见闻(6)

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址&#xff1a;安全见闻&#xff08;6&#xff09;_哔哩哔哩_bilibili 学无止境&#xff0c;开拓自己的眼界才能走的更远 本文主要讲解通讯协议涉及的安全问题。…...

Promise、async、await 、异步生成器的错误处理方案

1、Promise.all 的错误处理 Promise.all 方法接受一个 Promise 数组&#xff0c;并返回所有解析 Promise 的结果数组&#xff1a; const promise1 Promise.resolve("one"); const promise2 Promise.resolve("two");Promise.all([promise1, promise2]).…...

腾讯云:数智教育专场-学习笔记

15点13分2024年10月21日&#xff08;短短5天的时间&#xff0c;自己的成长速度更加惊人&#xff09;-开始进行“降本增效”学习模式&#xff0c;根据小米手环对于自己的行为模式分析&#xff08;不断地寻找数据之间的关联性&#xff09;&#xff0c;每天高效记忆时间&#xff0…...

Ovis: 多模态大语言模型的结构化嵌入对齐

论文题目&#xff1a;Ovis: Structural Embedding Alignment for Multimodal Large Language Model 论文地址&#xff1a;https://arxiv.org/pdf/2405.20797 github地址&#xff1a;https://github.com/AIDC-AI/Ovis/?tabreadme-ov-file 今天&#xff0c;我将分享一项重要的研…...

python的Django的render_to_string函数和render函数模板的使用

一、render_to_string render_to_string 是 Django 框架中的一个便捷函数&#xff0c;用于将模板渲染为字符串。 render_to_string(template_name.html, context, requestNone, usingNone) template_name.html&#xff1a;要渲染的模板文件的名称。context&#xff1a;传递给…...

基于Python大数据的王者荣耀战队数据分析及可视化系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

【Linux学习】(3)Linux的基本指令操作

前言 配置Xshell登录远程服务器Linux的基本指令——man、cp、mv、alias&which、cat&more&less、head&tail、date、cal、find、grep、zip&tar、bc、unameLinux常用热键 一、配置Xshell登录远程服务器 以前我们登录使用指令&#xff1a; ssh 用户名你的公网…...

Mac 使用脚本批量导入 Apple 歌曲

最近呢&#xff0c;买了一个 iPad&#xff0c;虽然家里笔记本台式都有&#xff0c;显示器都是 2个&#xff0c;比较方便看代码&#xff08;边打游戏边追剧&#xff09;。 但是在床上拿笔记本始终还是不方便&#xff0c;手机在家看还是小了点&#xff0c;自从有 iPad 之后&…...

全桥PFC电路及MATLAB仿真

一、PFC电路原理概述 PFC全称“Power Factor Correction”&#xff08;功率因数校正&#xff09;&#xff0c;PFC电路即能对功率因数进行校正&#xff0c;或者说是能提高功率因数的电路。是开关电源中很常见的电路。功率因数是用来描述电力系统中有功功率&#xff08;实际使用…...

【安当产品应用案例100集】025-确保数据安全传输——基于KMS与HSM的定期分发加密解决方案

引言&#xff1a; 在当今快速发展的数字化时代&#xff0c;企业面临着前所未有的信息安全挑战。尤其是在需要向供应商定期分发敏感数据的情况下&#xff0c;如何保证这些数据在传输过程中的安全性变得至关重要。为此&#xff0c;我们推出了结合安当KMS密钥管理平台与HSM密码机…...

十 缺陷检测解决策略之三:频域+空域

十 缺陷检测解决策略之三:频域空域 read_image (Image, 矩形) * 中间低频&#xff0c;四周高频 fft_image (Image, ImageFFT) * 中间低频&#xff0c;四周高频 fft_generic (Image, ImageFFT1, to_freq, -1, sqrt, dc_center, complex) * 中间高频&#xff0c;四周低频 rft_ge…...

有望第一次走出慢牛

A股已走完30多年历程。 大约每十年&#xff0c;会经历一轮牛熊周期。特点是每一轮周期&#xff0c;大约九成的时间都是熊市主导。就是我们常说的 快牛慢熊。 这一次&#xff0c;会不会重复历史? 历史不会简单重复。已经感受到了盘面的变化。 有人说&#xff0c;股市爆涨爆…...

delphi xe10网站开发/搜索数据

直接上代码… /*** author gxq* date * <p>* 自定义注解&#xff08;实现数据库查询&#xff0c;接口访问权限一系列&#xff09;*/ Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE}) //表示此作用作用的目标&…...

seo站内站怎么做/今日广州新闻头条

1.卸载文件系统fuser -km/home/ap/scratch1 先使用这条命令强制杀掉正在使用此文件系统的进程umount /home/ap/scratch12.修复fsck -fy /home/ap/scratch13.挂载修复文件系统mount /home/ap/scratch1说明&#xff1a;这个是因为出现了大量orphan filenode&#xff0c;一般来说l…...

招聘网站建设人员条件/100%能上热门的文案

MformatV1.00 U盘出现DEVICE ERROR CODE : 0x0406 错误代码&#xff0c;一般的修复工具无法修复。经自己的实际操作&#xff0c;以下的修复方法有效&#xff1a; 点击开始→运行&#xff0c;在命令行中输入&#xff1a;format h:/fs:fat32/q 其中&#xff1a;h为U盘的盘符。 修…...

可信的昆明网站建设/东莞市优速网络科技有限公司

pyltp的简介 语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广&#xff0c; 是国内外最具影响力的中文处理基础平台。它提供的功能包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等。 pyltp 是 LTP 的 Python 封装&#xff0…...

金融类网站建设/廊坊seo优化排名

智慧民生围绕交通、医疗、教育、居住等市民最关心的、最直接的、最现实的热点问题&#xff0c;整合构建面向各类人群的信息化公共服务体系&#xff0c;实现信息化公共服务体系的普及化和无障碍化&#xff1b;充分释放信息化在持续提升交通、医卫、教育、社区等社会民生服务能力…...

百度网站考核期/我的百度购物订单

题意&#xff1a;求大数指数。k^nP&#xff0c;求n 思路&#xff1a;2^416&#xff0c;所以 16的根号4为2&#xff0c;但是还有16的根号2为4 #include<iostream> #include<cmath> using namespace std; int main() { double k,p; while(cin>>k>>…...