C++信息学竞赛中常用函数的一般用法

news2025/6/10 1:47:21
在C++ 信息学竞赛中,有许多常用函数能大幅提升编程效率。下面为你介绍一些常见函数及其一般用法:

一、比较函数

1、max()
//求出a,b的较大值
    int a=10,b=5,c;c=max(a,b);//得出的结果就是c等于10.
    2、min()
    
    //求出a,b的较小值
    int a=10,b=5,c;c=min(a,b);//得出的结果就是c等于5.
    3、swap()
    
    //交换a,b变量的值
      int a=10,b=5;swap(a,b);//得出的结果就是a等于5;b等于10.

      二、数学函数

      1、abs()

      //用于计算整数的绝对值

      int a = -5;int b = abs(a); // b 的值为 5
      2、fabs()

      //用于计算浮点数的绝对值:

      ​​​​​​​

      double x = -3.14;double y = fabs(x); // y 的值为 3.14
      3、pow()

      //用于计算幂次方,不过返回值为 double 类型,使用时要留意精度问题。

      double result = pow(2, 3); // 计算 2 的 3 次方,result 的值为 8.0
      4、sqrt()

      //用于计算平方根:

      ​​​​​​​

      double root = sqrt(16); // root 的值为 4.0
      5、round()
      
      //四舍五入到整数
      double a = 3.5;double r = round(a);  // 返回 4.0(向最近的整数舍入)

      “四舍六入五成双”(银行家舍入法):

      若小数部分 恰好为 0.5,则舍入到 最近的偶数

      ​​​​​​​

      round(2.5);  // 返回 2.0(偶数)
      round(3.5);  // 返回 4.0(偶数)

      其他情况正常四舍五入:

      ​​​​​​​

      round(2.4);  // 返回 2.0
      round(2.6);  // 返回 3.0
      round(-2.5); // 返回 -2.0(偶数)
      6、floor()
      
      //向下取整 floor(1.0/2) = 0等同于 1/2
      floor(3.5);  // 返回 3.0
      floor(-3.5); // 返回 -4.0
      7、ceil()
      
      //向上取整 ceil(1.0/2) = 1
      std::ceil(3.5);   // 返回 4.0
      std::ceil(-3.5); // 返回 -3.0

      三、字符串处理函数

      1、substr()

      //用于截取子字符串:

      string s = "abcdef";string sub1 = s.substr(1, 3); // 从索引 1 开始,截取长度为 3 的子字符串,sub1 的值为 "bcd"
      string sub2 = s.substr(2); // 从索引 2 开始截取到字符串末尾,sub2 的值为 "cdef"
      2、stoi()stod()

      //用于将字符串转换为整数或双精度浮点数:

      ​​​​​​​

      string numStr = "123";int num = stoi(numStr); // num 的值为 123
      string doubleStr = "3.14";double d = stod(doubleStr); // d 的值为 3.14

      四、算法库函数

      1、sort()

      //用于对数组或容器进行排序:

      ​​​​​​​

      int arr[] = {5, 3, 1, 4, 2};int n = sizeof(arr) // sizeof(arr[0]);sort(arr, arr + n); // 对数组进行升序排序
      vector<int> v = {5, 3, 1, 4, 2};sort(v.begin(), v.end()); // 对向量进行升序排序

      五、内存操作函数

      1、memset()

      //用于初始化数组:

      ​​​​​​​

      int arr[10];memset(arr, 0, sizeof(arr)); // 将数组所有元素初始化为 0
      // 注意:如果要初始化为其他值(如 -1),可以使用以下方式memset(arr, -1, sizeof(arr)); // 将数组所有元素初始化为 -1

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

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

      相关文章

      大语言模型解析

      1. Input Embedding embedding&#xff1a;将自然语言翻译成index 每个index对应一个embedding&#xff0c;embedding需要训练&#xff0c;embedding是一个数组

      Java在word中指定位置插入图片。

      Java使用&#xff08;Poi-tl&#xff09; 在word&#xff08;docx&#xff09;中指定位置插入图片 Poi-tl 简介Maven 依赖配置Poi-tl 实现原理与步骤1. 模板标签规范2.完整实现代码3.效果展示 Poi-tl 简介 Poi-tl 是基于 Apache POI 的 Java 开源文档处理库&#xff0c;专注于…

      可视化图解算法48:有效括号序列

      牛客网 面试笔试 TOP101 | LeetCode 20. 有效的括号 1. 题目 描述 给出一个仅包含字符(,),{,},[和],的字符串&#xff0c;判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭&#xff0c;"()"和"()[]{}"都是合法的括号序列&…

      Continue 开源 AI 编程助手框架深度分析

      Continue 开源 AI 编程助手框架深度分析 一、项目简介 Continue 是一个模块化、可配置、跨平台的开源 AI 编程助手框架&#xff0c;目标是让开发者能在本地或云端环境中&#xff0c;快速集成和使用自定义的 LLM 编程辅助工具。它通过支持 VS Code 与 JetBrains 等主流 IDE 插件…

      MySQL技术内幕1:内容介绍+MySQL编译使用介绍

      文章目录 1.整体内容介绍2.下载编译流程2.1 安装编译工具和依赖库2.2 下载编译 3.配置MySQL3.1 数据库初始化3.2 编辑配置文件3.3 启动停止MySQL3.4 登录并修改密码 1.整体内容介绍 MySQL技术系列文章将从MySQL下载编译&#xff0c;使用到MySQL各组件使用原理源码分析&#xf…

      网络安全问题及对策研究

      摘 要 网络安全问题一直是近年来社会乃至全世界十分关注的重要性问题&#xff0c;网络关乎着我们的生活&#xff0c;政治&#xff0c;经济等多个方面&#xff0c;致力解决网络安全问题以及给出行之有效的安全策略是网络安全领域的一大目标。 本论文简述了课题的开发背景&…

      【计算机网络】NAT、代理服务器、内网穿透、内网打洞、局域网中交换机

      &#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;计算机网络 &#x1f339;往期回顾&#x1f339;&#xff1a;【计算机网络】数据链路层——ARP协议 &#x1f516;流水不争&#xff0c;争的是滔滔不息 一、网络地址转…

      在 Vue 的template中使用 Pug 的完整教程

      在 Vue 的template中使用 Pug 的完整教程 引言 什么是 Pug&#xff1f; Pug&#xff08;原名 Jade&#xff09;是一种高效的网页模板引擎&#xff0c;通过缩进式语法和简洁的写法减少 HTML 的冗长代码。Pug 省略了尖括号和闭合标签&#xff0c;使用缩进定义结构&#xff0c;…

      【立体匹配】:双目立体匹配SGBM:(1)运行

      注&#xff1a;这是一个专题&#xff0c;我会一步步介绍SGBM的实现&#xff0c;按照我的使用和优化过程逐步改善算法&#xff0c;附带实现方法 系列文章【立体匹配】&#xff1a;双目立体匹配SGBM&#xff1a;&#xff08;1&#xff09;运行 【立体匹配】&#xff1a;双目立体匹…

      < 自用文 OS有关 新的JD云主机> 国内 京东云主机 2C4G 60G 5Mb 498/36月 Ubuntu22

      攒了这么久&#xff0c;废话一些&#xff1a; 前几周很多事儿&#xff0c;打算回北京&#xff0c;开个清真的德克萨斯烤肉店&#xff0c;写了一篇 &#xff1a; &#xff1c; 自用文 Texas style Smoker &#xff1e; 美式德克萨斯烟熏炉 从设计到实现 &#xff08;第一部分&…

      《架构即未来》笔记

      思维导图 第一部分&#xff1a;可扩展性组织的人员配置 第二部分&#xff1a;构建可扩展的过程 第三部分&#xff1a;可扩展的架构方案 第四部分&#xff1a;其他的问题和挑战 资料 问软件工程研究所&#xff1a; https://www.sei.cmu.edu/ AKF公司博客: http://www.akfpart…

      ubuntu2404 gpu 没接显示器,如何保证远程显示的分辨率

      1. 使用 xserver-xorg-video-dummy 创建虚拟显示器 如果系统在无物理显示器连接时无法识别显示输出&#xff0c;可以使用 xserver-xorg-video-dummy 驱动程序创建虚拟显示器。以下是设置步骤&#xff1a; 安装虚拟显示器驱动程序&#xff1a; sudo apt install xserver-xorg-v…

      【基于阿里云搭建数据仓库(离线)】使用UDTF时出现报错“FlatEventUDTF cannot be resolved”

      目录 问题&#xff1a; 可能的原因有&#xff1a; 解决方法&#xff1a; 问题&#xff1a; 已经将包含第三方依赖的jar包上传到dataworks&#xff0c;并且成功注册函数&#xff0c;但是还是报错&#xff1a;“FlatEventUDTF cannot be resolved”&#xff0c;如下&#xff1a…

      Pycharm的终端无法使用Anaconda命令行问题详细解决教程

      很多初学者在Windows系统上安装了Anaconda后&#xff0c;在PyCharm终端中运行Conda命令时&#xff0c;会遇到以下错误&#xff1a; conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保…

      SAP学习笔记 - 开发24 - 前端Fiori开发 Filtering(过滤器),Sorting and Grouping(排序和分组)

      上一章讲了SAP Fiori开发的表达式绑定&#xff0c;自定义格式化等内容。 SAP学习笔记 - 开发23 - 前端Fiori开发 Expression Binding&#xff08;表达式绑定&#xff09;&#xff0c;Custom Formatters&#xff08;自定义格式化&#xff09;-CSDN博客 本章继续讲SAP Fiori开发…

      自建 dnslog 回显平台:渗透测试场景下的隐蔽回显利器

      &#x1f50d; 背景介绍 在渗透测试与红队评估过程中&#xff0c;DNS 外带&#xff08;DNS Exfiltration&#xff09; 是一种常见且隐蔽的通信通道。由于多数目标环境默认具备外网 DNS 解析能力&#xff0c;即便在 无回显、无文件上传权限 的条件下&#xff0c;仍可通过 DNS 请…

      Digital IC Design Flow

      Flow介绍 1.设计规格 架构师根据市场需求制作算法模型(Algorithm emulation)及芯片架构(Chip architecture),确定芯片设计规格书(Chip design specification) 原型验证 原型验证(Prototype Validation)通常位于产品开发流程的前期阶段,主要是在设计和开发的初步阶…

      设备健康管理的范式革命:中讯烛龙全链路智能守护系统

      当工业设备的“亚健康”状态导致隐性产能损失高达23%时&#xff0c;中讯烛龙推出 ​​“感知-诊断-决策-闭环”四位一体解决方案&#xff0c;让设备全生命周期健康管理成为企业增长的隐形引擎。 一、行业痛点&#xff1a;传统运维的三大断层 1. 健康感知盲区 某风电场因无法捕…

      循环神经网络(RNN):从理论到翻译

      循环神经网络&#xff08;RNN&#xff09;是一种专为处理序列数据设计的神经网络&#xff0c;如时间序列、自然语言或语音。与传统的全连接神经网络不同&#xff0c;RNN具有"记忆"功能&#xff0c;通过循环传递信息&#xff0c;使其特别适合需要考虑上下文或顺序的任…

      Redis:常用数据结构 单线程模型

      &#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Redis &#x1f525; 常用数据结构 &#x1f433; Redis 当中常用的数据结构如下所示&#xff1a; Redis 在底层实现上述数据结构的过程中&#xff0c;会在源码的角度上对于上述的内容进行特定的…