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

ACM社团第一次测试题解(禁止直接复制粘贴提交)

第一题:中位数

思路:

解法一:暴力比较,两个数之间一直比较得出中位数

解法二:快排函数,数组中间值即为中位数

代码:

1.c语言版:

#include <stdio.h>
int arr[10010];
void solve() {int a, b, c;scanf("%d %d %d", &a, &b, &c);arr[1] = a;arr[2] = b;arr[3] = c;// 使用冒泡排序来排序 arr[1], arr[2], arr[3]for (int i = 1; i <= 2; i++) { // 需要排序两轮for (int j = 1; j <= 2; j++) {if (arr[j] > arr[j + 1]) {// 交换 arr[j] 和 arr[j + 1]int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}// 输出中间值printf("%d\n", arr[2]);
}int main() {int t;scanf("%d", &t);while (t--) {solve();}return 0;
}

2.c++版:

#include<bits/stdc++.h>
using namespace std;
int arr[10010];
void solve() {int a, b, c;cin >> a >> b >> c;arr[1] = a;arr[2] = b;arr[3] = c;sort(arr + 1, arr + 1 + 3);cout << arr[2] << endl;return;
}
int main() {int t;cin >> t;while(t--)solve();return 0;
}

第二题:求和

思路:判断是否有两个数相加为第三个数即可

代码:
1.c语言版:

#include <stdio.h>
void solve() {int a, b, c;scanf("%d %d %d", &a, &b, &c);if (a + b == c || a + c == b || b + c == a) {printf("YES\n");} else {printf("NO\n");}
}
int main() {int t;scanf("%d", &t);while (t--) {solve();}return 0;
}

2.c++版:

#include<bits/stdc++.h>
using namespace std;
void solve() {int a, b, c;cin >> a >> b >> c;if (a + b == c || a + c == b || b + c == a) {cout << "YES\n";}else {cout << "NO\n";}return;
}
int main() {int t;cin >> t;while(t--)solve();return 0;
}

第三题:字符倒置简易版

思路:使用gets函数读入字符串(字符串中有可能含有空字符串),根据其长度倒序输出即可

代码:

1.c语言:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[10000];
int b,i;
gets(a);
b=strlen(a);
for(i=b-1;i>=0;i--)
printf("%c",a[i]);
return 0;
}

2.c++:

#include<bits/stdc++.h>
using namespace std;
void solve() {string s;getline(cin,s);int l = s.size();for (int i = s.size() - 1; i >= 0; i--) {cout << s[i];}return;
}
int main() {solve();return 0;
}

第四题:求a/b

思路:除法不多说,注意(保留10位小数)即可

代码:

#include<stdio.h>
int main()
{int a,b;while(scanf("%d %d",&a,&b)!=EOF){printf("%.10lf\n",(double)a/b);}return 0;
}

第五题:这怕又是一道水题了

思路:判断长度为n的数组中的每个元素是否都比m小,若小于m的个数=n,即yes,否则no

代码:

1.c:

#include <stdio.h>
int a[100010];
void solve() {int n, m;scanf("%d %d", &n, &m);  // 使用 scanf 获取 n 和 mint num = 0;// 输入数组for (int i = 1; i <= n; i++) {scanf("%d", &a[i]);  // 输入数组元素}
// 计算符合条件的个数for (int i = 1; i <= n; i++) {if (m > a[i]) {num++;  // 如果 m 大于 a[i],计数加 1}}
// 判断并输出结果if (num == n) {printf("yes\n");} else {printf("no\n");}
}
int main() {solve();return 0;
}

2.c++:

//}
#include<bits/stdc++.h>
using namespace std;
int a[100010];
void solve() {int n, m;cin >> n >> m;int num = 0;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++)if (m > a[i])num++;if (num == n)cout << "yes\n";else cout << "no\n";return;
}
int main() {solve();return 0;
}

第六题:插数排序

思路:根据题目要求先进行判断,若小于最后一个数再进行插入,我们需要遍历一遍数组,找到一个合适位置进行插入(其左边的数<=要插入的数<=其右边的数)
这道题可以去学一下set

代码(未使用set):

#include <stdio.h>
int main() {int n, num, k;int arr[10010];  // 假设最多有 10000 个元素int idx = 0;  // 当前数组的元素数量// 输入 n 个整数scanf("%d", &n);while (n--) {scanf("%d", &num);// 插入前检查是否已经存在,避免重复int exists = 0;for (int i = 0; i < idx; i++) {if (arr[i] == num) {exists = 1;break;}}if (!exists) {arr[idx++] = num;  // 插入元素到数组}}// 输入 k 并插入scanf("%d", &k);int exists = 0;for (int i = 0; i < idx; i++) {if (arr[i] == k) {exists = 1;break;}}if (!exists) {arr[idx++] = k;  // 插入 k}// 使用插入排序对数组进行排序for (int i = 1; i < idx; i++) {int key = arr[i];int j = i - 1;// 将大于 key 的元素右移while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j--;}arr[j + 1] = key;}// 输出集合中的元素for (int i = 0; i < idx; i++) {printf("%d ", arr[i]);}return 0;
}

使用set:

#include<bits/stdc++.h>
using namespace std;
void solve() {int n, m, k;cin >> n;set<int>s;while (n--) {cin >> m;s.insert(m);}cin >> k;s.insert(k);for (auto ss: s) {cout << ss << " ";}return;
}
int main() {solve();return 0;
}

第七题:星号图形

思路:发现规律,从第一行开始,*前面的空格数=n-当前行数,*数=2*当前行数-1

代码:

1.c:

#include <stdio.h>void solve() {int n;scanf("%d", &n);  // 读入整数nfor (int i = 1; i <= n; i++) {// 打印前导空格for (int j = 1; j <= n - i; j++) {printf(" ");}// 打印星号for (int k = 1; k <= 2 * i - 1; k++) {printf("*");}// 打印换行printf("\n");}
}int main() {solve();  // 调用solve函数return 0;
}

2.c++:

#include<bits/stdc++.h>
using namespace std;
void solve() {int n;cin >> n;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n - i; j++)cout << " ";for (int k = 1; k <= 2 * i - 1; k++)cout << "*";cout << endl;}return;
}
int main() {solve();return 0;
}

 第八题:冠军

思路:

输入字符串,若相邻的五个字符分别为'edgnb',则将个数+1

代码:

1.c:

#include <stdio.h>
#include <string.h>void solve() {char s[100001];  // 假设最大字符串长度为 100000scanf("%s", s);  // 读取字符串int l = strlen(s);  // 获取字符串长度int k = 0;// 注意:循环到 l - 5,因为我们要检查每个位置是否有 'edgnb' 字符串for (int i = 0; i <= l - 5; i++) {if (s[i] == 'e' && s[i + 1] == 'd' && s[i + 2] == 'g' && s[i + 3] == 'n' && s[i + 4] == 'b') {k++;  // 如果匹配,计数加 1}}printf("%d\n", k);  // 输出结果
}int main() {solve();  // 调用 solve 函数return 0;
}

2.c++:

#include<bits/stdc++.h>
using namespace std;
void solve() {string s;cin >> s;int l = s.size();int k = 0;for (int i = 0; i <= l; i++) {if (s[i] == 'e' && s[i + 1] == 'd' && s[i + 2] == 'g' && s[i + 3] == 'n' && s[i + 4] == 'b')k++;}cout << k << endl;return;
}
int main() {solve();return 0;
}

相关文章:

ACM社团第一次测试题解(禁止直接复制粘贴提交)

第一题&#xff1a;中位数 思路&#xff1a; 解法一&#xff1a;暴力比较&#xff0c;两个数之间一直比较得出中位数 解法二&#xff1a;快排函数&#xff0c;数组中间值即为中位数 代码&#xff1a; 1.c语言版&#xff1a; #include <stdio.h> int arr[10010]; vo…...

redis:zset有序集合命令和内部编码

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言命令ZADDZRANGEZREVRANGEZCARDZCOUNTZPOPMAXBZPOPMAXZPOPMINBZPOPMINZRANKZSCOREZREMZREMRANGEBYRANKZREMRANGEBYSCOREZINCRBY集合间操作…...

Day107:代码审计-PHP模型开发篇MVC层RCE执行文件对比法1day分析0day验证

知识点&#xff1a; 1、PHP审计-MVC开发-RCE&代码执行 2、PHP审计-MVC开发-RCE&命令执行 3、PHP审计-MVC开发-RCE&文件对比 MVC 架构 MVC流程&#xff1a; Controller截获用户发出的请求&#xff1b;Controller调用Model完成状态的读写操作&#xff1b;Contr…...

Web服务nginx实验1访问特定目录

启动服务&#xff1a; 创建haha目录&#xff0c;并且在里面创建index.html文件&#xff0c;往里面写东西&#xff1a; 让客户端访问haha目录&#xff1a;&#xff08;默认只会读取里面的index.html文件&#xff09; 目录后面加/显示的是内容&#xff0c;不加则是代码&#xff1…...

数据结构之二叉树前序,中序,后序习题分析(递归图)

1.比较相同的树 二叉树不能轻易用断言&#xff0c;因为树一定有空 2.找结点值 3.单值二叉树 4.对称二叉树 5.前序遍历...

Me-LLaMA——用于医疗领域的新型开源大规模语言模型

摘要 大规模语言模型的出现是提高病人护理质量和临床操作效率的一个重大突破。大规模语言模型拥有数百亿个参数&#xff0c;通过海量文本数据训练而成&#xff0c;能够生成类似人类的反应并执行复杂的任务。这在改进临床文档、提高诊断准确性和管理病人护理方面显示出巨大的潜…...

C#-常见异常的处理方式(持续更新)

1、从网络位置加载程序集失败&#xff0c;默认不启用CAS策略 错误原因&#xff1a;使用 Assembly.LoadFile(dllPath) 加载外部Dll时&#xff0c;DotNET安全机制阻止加载一个本地网或互联网上的程序集。 解决方案&#xff1a; ①配置app.config文件&#xff0c;在runtime节点…...

「Mac玩转仓颉内测版2」入门篇2 - 编写第一个Cangjie程序

本篇详细介绍在Mac系统上创建首个Cangjie项目并编写、运行第一个Cangjie程序的全过程。内容涵盖项目创建、代码编写、程序运行与调试&#xff0c;以及代码修改后的重新运行。通过本篇&#xff0c;掌握Cangjie项目的基本操作&#xff0c;进一步巩固开发环境的配置&#xff0c;迈…...

注册登录学生管理系统小项目

头文件 #ifndef _LOGINLINK_H_ #define _LOGINLINK_H_ #include<myhead.h> typedef struct {int id;char name[20];int age; }stu,*Pstu; typedef struct node {union{int len;stu data;};struct node *next; }node,*Pnode; int regist(); int login(); Pnode create()…...

qt QCompleter详解

1、概述 QCompleter是Qt框架中的一个类&#xff0c;用于为文本输入提供自动完成功能。它可以与Qt的输入控件&#xff08;如QLineEdit、QTextEdit等&#xff09;结合使用&#xff0c;根据用户的输入实时过滤数据源&#xff0c;并在输入控件下方或内部显示补全建议列表。用户可以…...

YOLOv11融合特征细化前馈网络 FRFN[CVPR2024]及相关改进思路

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 一、 模块介绍 论文链接&#xff1a;Adapt or Rerish 代码链接&#xff1a;https://github.com/joshyZhou/AST 论文速览&#xff1a;基于 transformer 的方法在图像恢复任务中取得了有希望的性能&#xff0c;因为…...

【前端知识】JS模块规范

JS模块规范 概述CommonJS 规范 代码示例AMD 规范 代码示例ES6 Module 规范 代码示例IIFE 规范 代码示例全局变量 代码示例 CommonJS 模块和 ES6 模块有什么区别&#xff1f;1. 语法和声明方式2. 动态和静态导入3. 循环依赖4. 默认导出和命名导出5. 文件扩展名6. 环境和应用7. 工…...

vue3展示pag格式动态图

提示&#xff1a;如果是webpack环境的&#xff0c;参考&#xff1a;Pag格式在vue3中的简单使用方法_pag文件-CSDN博客 下面展示的是在vite环境下配置pag 1、安装libpag npm i libpag --save 2、安装rollup-plugin-copy npm i rollup-plugin-copy --save 3、封装pag组件 下…...

代码随想录算法训练营第三十九天|Day39 动态规划

198.打家劫舍 视频讲解&#xff1a;https://www.bilibili.com/video/BV1Te411N7SX https://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html 思路 #define max(a, b) ((a) > (b) ? (a) : (b)) int rob(int* nums, int numsSize) {if(numsSize 0){ret…...

qt QMovie详解

1、概述 QMovie 是 Qt 框架中用于处理动画文件的类。它支持多种动画格式&#xff0c;包括 GIF 和一些常见的视频格式&#xff08;尽管对视频格式的支持依赖于底层平台&#xff09;。QMovie 类主要用于在 QLabel 或 QGraphicsView 等控件中显示动画。通过加载动画文件&#xff…...

数据集整理

系列博客目录 文章目录 系列博客目录1.Visual Genome数据集2.COCO数据集3.Flickr30k数据集10.集合多个数据集的网站 1.Visual Genome数据集 官网链接&#xff1a;https://homes.cs.washington.edu/~ranjay/visualgenome/index.html Visual Genome数据集梳理 Visual Genome数据…...

认证授权基础概念详解

目录 认证 (Authentication) 和授权 (Authorization)的区别是什么&#xff1f; RBAC 模型了解吗&#xff1f; 什么是 Cookie ? Cookie 的作用是什么? 如何在项目中使用 Cookie 呢&#xff1f; 如何在 Spring Boot 中创建和读取 Cookie 创建 Cookie Cookie 到期日期 安全…...

美国地址生成器站点

推荐一&#xff1a;fakexy 官网地址&#xff1a;https://www.fakexy.com 推荐二&#xff1a;好维持官网地址&#xff1a; https://www.dizhishengcheng.com 官网除了支持生成美国地址信息外&#xff0c;还支持生成英国、加拿大、日朩、澳大利亚、德国、法国、意大利、西班牙、巴…...

微信4.0大版本升级跨平台支持界面全面改版

微信4.0公测版现已正式发布&#xff0c;作为微信的大版本升级&#xff0c;新版微信基于全新架构开发&#xff0c;跨平台支持Windows和MAC系统&#xff0c;界面也全面改版&#xff0c;聊天宝也第一时间适配微信4.0&#xff0c;为广大客户提供快捷回复支持 前言 微信4.0公测版现…...

不想贴秋膘?正确打开秋冬运动姿势

这个秋天想要轻装上阵&#xff0c;想健康入秋更要美美入冬怎么破&#xff1f;这期把正确打开秋冬姿势一次性告诉你哦~ 天气变凉&#xff0c;脂肪可要燃起来~想要无痛入秋&#xff0c;最重要的动起来&#xff01;每天都抽出一点时间去运动一下&#xff0c;不光让身体燃起来&…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...