【代码】c++几个常用的函数

news2025/1/16 15:01:19

Hello!大家好,我是@学霸小羊,今天讲讲c++函数库里面的几个基本函数。

1.sort()

sort()是大名鼎鼎的排序函数,以前起码一两个循环的排序,用这个函数一行代码就可以解决。

格式:

sort(数组名"+"开始下标,数组名"+"开始下标,数组前后两个数需要保持的条件(函数,可省略))
例:
bool cmp(int x,int y) return x>y;
sort(a+1,a+10+1,cmp);

2.sqrt()

sqrt()函数是平方根函数,这可以用于勾股定理。

先去学一下勾股定理,待会我附下代码。

【数学】勾股定理icon-default.png?t=N7T8https://blog.csdn.net/yangyanbin_sam/article/details/138959059?spm=1001.2014.3001.5501代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a,b,c;
	cin>>a>>b;
	c=sqrt(a*a+b*b);
	cout<<c<<endl;
	cout<<a<<"×"<<a<<"+"; 
	cout<<b<<"×"<<b<<"=";
	cout<<c<<"×"<<c;
	return 0;
}

3.abs()

abs()函数用于计算绝对值,这对于负数有一些帮助,可以去学一下负数:

【数学】负数icon-default.png?t=N7T8https://blog.csdn.net/yangyanbin_sam/article/details/139769603?spm=1001.2014.3001.5501来看一道题:

时限:1s     空间:256m    

题目描述

小明是一名热爱体育的OIER,这天她在进行折返跑的练习,练习的规则如下:

在开始的时候,小明站在x=0处,有n个路标分别坐落于x1,x2,x3...xn。小明想在T单位时间内 访问尽可能多的路标,她每跑一个单位长度的距离,需要一个单位时间。

小明按照一个特殊的规则来访问路标,距离原点越近的路标,对小明越重要。

她总是会朝未访问过的距离原点最近的路标跑。没有两个路标距离原点的距离相等。

请你帮助计算一下,小明在日落之前能够访问多少个路标?

输入格式

第一行输入两个整数T、n,

随后n行,每行一个整数,代表路标 的位置xi

数据规模

对于20%数据: T ≤ 20,n ≤ 15

对于40%数据: n ≤ 3000

对于100%数据:  1 ≤ n ≤ 50000 ,   100000 ≤ 

i ≤ 100000 ,1 ≤ T ≤ 1000000000

输出格式

输出一行一个整数,表示小明在日落之前能够访问到的路标的个数。

输入/输出例子1

输入:

25 5

10

-3

8

-7

1

输出:

4

样例解释

样例解释#1

小明将先前往 1,再去-3,再去-7,然后去8,共花费1+4+4+15=24 ,本来下一步应该去 10 ,但时间不够了,于是输出4

这道题就需要用负数的绝对值来比较每一个点距离原点的距离了,需要用结构体储存绝对值。

代码:

#include<bits/stdc++.h>
using namespace std;
long long t,n,s,xa;
struct stu
{
	int a=0,b=0;
}a[500005];
bool cmp(stu x,stu y)
{
	return x.b<y.b;
}
int main(){
    cin>>t>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].a;
        a[i].b=abs(a[i].a);
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n&&xa+abs(a[i].a-a[i-1].a)<=t;i++)
    {
    	xa+=abs(a[i].a-a[i-1].a);
        s++;
	}
	cout<<s;
    return 0;
}

4.字符串函数

对于字符串,也有很多函数:

 

// C++标凇库提供了丰富的字符串操作函数,下面介绍一些常用的函数。
// 备注:位置可以看成是字符串的下标,从0开始
// 获取字符串长度
// 使用length或size函数来获取字符串的长度。
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
 
using namespace std;
 
int main() {
    string str = "Hello, World!";
    size_t length = str.length(); // or str.size()
    cout << "Length of the string: " << length << endl;
 
    // 拼接字符串
    // 使用+操作符或append函数来拼接字符串。
    string str1 = "Hello";
    string str2 = "World";
    string str3 = str1 + ", " + str2 + "!";
    cout << str3 << endl;
 
    str1.append(", ").append(str2).append("!");
    cout << str1 << endl;
 
    // 查找子字符串
    // 使用find函数来查找子字符串的位置。没找到则返回-1
    string str4 = "Hello, World!";
    size_t pos = str4.find("World");
    if (pos != -1) {
        cout << "Found 'World' at position: " << pos << endl;
    } else {
        cout << "'World' not found" << endl;
    }
 
    // 替换子字符串
    // 使用replace函数来替换子字符串。
    string str5 = "Hello, World!";
    str5.replace(7, 5, "C++"); // 从位置7开始,替换长度为5的子字符串(这5个字符将被删除)
    cout << str5 << endl;// "Hello, C++!"
 
    // 子字符串提取
    // 使用substr函数提取子字符串。
    string substr = str5.substr(7, 5); // 从位置7开始,提取长度为5的子字符串
    cout << substr << endl;
 
    // 清空字符串
    // 使用clear函数来清空字符串。
    string str6 = "Hello, World!";
    str6.clear();
    cout << "After clear: " << str6 << endl;
 
    // 字符串是否为空
    // 使用empty函数检查字符串是否为空。
    string str7 = "";
    if (str7.empty()) {
        cout << "The string is empty" << endl;
    } else {
        cout << "The string is not empty" << endl;
    }
 
    // 访问字符
    // 使用索引操作符[]或at函数来访问字符串中的字符。
    string str8 = "Hello, World!";
    char ch1 = str8[0]; // 访问第一个字符
    char ch2 = str8.at(1); // 访问第二个字符
 
    cout << "First character: " << ch1 << endl;
    cout << "Second character: " << ch2 << endl;
 
    // 插入字符串
    // 使用insert函数在指定位置插入子字符串。
    string str9 = "Hello, World!";
    str9.insert(7, "C++ ");// 在s[7]位置插入字符串
    cout << str9 << endl; // 输出: Hello, C++ World!
 
    // 删除字符串
    // 使用erase函数删除指定位置的子字符串。
    string str10 = "Hello, C++ World!";
    str10.erase(7, 4); // 从位置7开始删除长度为4的子字符串
    cout << str10 << endl; // 输出: Hello, World!
 
 
    // 反转字符串
    // 虽然没有直接的函数,但可以使用标准库算法reverse来反转字符串。
    string str17 = "Hello, World!";
    reverse(str17.begin(), str17.end());
    cout << str17 << endl; // 输出: !dlroW ,olleH
 
    return 0;
}

今天就讲到这啦,拜拜!

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

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

相关文章

iOS开发者模式自带弱网测试工具

弱网测试的思路 弱网功能测试&#xff1a;2G/3G/4G、高延时、高丢包 无网状态测试&#xff1a;断网功能测试、本地数据存储 用户体验关注&#xff1a;响应时间、页面呈现、超时文案、超时重连、安全及大流量风险 网络切换测试&#xff1a;WIFI → 4G/3G/2G → 网多状态切换…

高考填报志愿,为何要优先考虑个人兴趣 ?

随着高考成绩纷纷出炉&#xff0c;考生又要面对人生另外一个重要的选择&#xff0c;那便是填报志愿&#xff0c;这关系到自己能否进入满意的学校和专业。如果考生对上述两个方面都不满意&#xff0c;那高考目的就没有达到。既然填报志愿如此重要&#xff0c;考生和家长在选择的…

MFC案例:自制工具条(Toolbar)按钮的小程序

程序目标&#xff1a;在基于对话框的MFC项目中&#xff0c;自制三个 Toolbar 按钮&#xff08;用颜色区分&#xff0c;分别为红、绿、蓝&#xff09;&#xff1b;程序运行时&#xff0c;单击红色按钮显示一个红色的填充椭圆&#xff1b;再单击绿色按钮则进行清屏&#xff1b;最…

【YOLO 系列】基于YOLO V8的密集场景下行人检测识别系统【python源码+Pyqt5界面+数据集+训练代码】

前言 在密集的城市环境中&#xff0c;行人检测对于公共安全、交通管理和智能监控具有重要意义。然而&#xff0c;传统的行人检测方法在面对密集场景时&#xff0c;常常因目标重叠和遮挡而难以准确识别。为了应对这一挑战&#xff0c;我们启动了这个项目&#xff0c;目的是利用…

江苏隆昌化工上线隆道平台 采购管理迎来全面升级

当前&#xff0c;传统产业与数字产业深度加速融合&#xff0c;大数据、云计算、人工智能等新技术推动产业深刻变革&#xff0c;能源化工行业迎来战略转型加速期。数字化转型已成为能源化工企业提升运营效率、控制运营成本、提高产品质量、打造竞争优势的强大引擎。为实现传统采…

OVS:网桥的状态:fail_mode模式

目录 1.创建一个普通的ovs网桥不做任何配置 2.检测fail_mode值&#xff0c;默认为空 3.创建netns并配置sto网桥的两个普通端口并配置IP信息 4.默认情况下的两个端口下挂两个虚拟机v3,v4天然通信-ping-ok 5.修改网桥的fail_mode为standalone,原来的通信没有影响 6.修改了…

java常用类(1)

目录 1.Object类 1.1 toString()方法 1.1.1重写toString()方法 2.1 equals()方法 2.1.1 的作用 2.1.2 equals()方法 2.Arrays类 2.1 equals()方法 2.2 copyOf()方法 2.3 fill()方法 2.4 sort()方法 1.Object类 在java中Object类是所有类的父类,如果一个类没有显示…

数据独立性-信息、数据、数据结构、数据独立性

一、引言 同人工管理数据和文件系统管理数据相比&#xff0c;数据库管理数据最主要的优点是数据独立性高。数据独立性是数据库领域中的一个常用术语和重要概念&#xff0c;包括数据的物理独立性和逻辑独立性 二、数据与数据结构 1、信息 在数据管理领域&#xff0c;数据与信…

排序之插入排序----直接插入排序和希尔排序(1)

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 排序之插入排序----直接插入排序和希尔排序(1) 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记&#xff0c;欢迎大家在评论区交流讨…

uni-app uni-data-picker级联选择器无法使用和清除选中的值

出现问题&#xff1a; 使用点击右边的叉号按钮无法清除已经选择的uni-data-picker值 解决办法&#xff1a; 在uni-app uni-data-picker使用中&#xff0c;要添加v-model&#xff0c;v-model在官网的示例中没有体现&#xff0c;但若不加则无法清除。 <uni-data-picker v-m…

从0搭建一个vue项目,不使用脚手架从html到vue

前言 从最开始学习web网页开始&#xff0c;搭建一个网页只需要创建一个html文件对其进行编写dom标签语言即可&#xff1b;后来分离了html&#xff0c;css和js&#xff0c;搭建一个网页开始需要文件夹&#xff0c;文件夹包含了这3类文件以及静态文件&#xff0c;图片&#xff0c…

2024年全新Studio One 6 .6.1新功能介绍及安装激活使用指南

​ 录制、制作、混音、掌握和表演所需的一切。Studio One 6 .6.1通过新的智能模板、直观的拖放工作流程、可定制的用户界面和强大的集成工具&#xff0c;让创作变得快速而轻松。 智能模板。快速启动。 快速启动录音、混音、掌握、节拍制作或简单地演奏虚拟乐器的基本工作流程—…

#04贪心法

要点&#xff1a; 贪心法的基本思想、基本要素与求解步骤&#xff1b; 贪心法的应用。 难点&#xff1a; 贪心法的最优子结构性质与贪心选择性质。 贪心法的基本思想 每个阶段的决策一旦做出就不可更改。不允许回溯。 并不从整体最优考虑&#xff0c;所作出的选择只是在某…

视频素材网站哪个好用?好用的做短视频素材下载网站分享

你是否正面临着为短视频寻找完美素材的困扰&#xff1f;是否对网络上那些雷同的素材网站感到厌烦了&#xff1f;今天&#xff0c;我将为大家推荐几个优秀的海外视频素材网站&#xff0c;这些隐藏的宝藏网站定能让你的作品焕发新光彩&#xff01; 蛙学素材网——您的创作好帮手…

希望数学少年俱乐部精品课学生用书-四年级

PDF版本链接链接&#xff1a;https://pan.baidu.com/s/1t6prtG9sd-1mYsnCUz-mKQ 提取码&#xff1a;0548 --来自百度网盘超级会员V7的分享

《编译原理》阅读笔记:p19-p24

《编译原理》学习第 4 天&#xff0c;p19-p24总结&#xff0c;总计 5 页。 一、技术总结 1.grouping of phases 这里谈到分组(group)&#xff0c;那么就会有一个疑问&#xff0c;分组的依据是什么&#xff1f;即根据什么来分组。 (1) front end & back end 编译器包含…

办公效率神器:ONLYOFFICE 的配置和使用

1.认识 ONLYOFFICE ONLYOFFICE 是一款免费开源的协同办公软件套件&#xff0c;支持多种文件格式&#xff0c;包括PDF、Word、Excel、PowerPoint等。它提供了文档编辑、表格处理、演示制作等功能&#xff0c;并可以与其他应用程序和平台集成&#xff0c;功能亮点特点如下&#…

【unity笔记】六、UI实现下拉列表切换视角

具体步骤如下 1. 创建UI下拉列表&#xff1a; 在Unity场景中右键点击并选择UI -> 下拉列表 来创建一个新的下拉列表。 2. 添加摄像机选项&#xff1a; 在Dropdown的Options属性中添加新的选项&#xff0c;通过点击按钮来添加选项&#xff0c;并为每个选项设置一个显示名…

【大数据】—谁是世界上最富的人?

引言 在2024年&#xff0c;全球财富的分布再次成为公众和经济学家关注的焦点。随着经济的波动和新兴市场的崛起&#xff0c;亿万富翁的名单也在不断变化。本文将深入探讨这一现象&#xff0c;通过最新的数据可视化分析&#xff0c;揭示世界上最富有的人在2024年的财富状况和趋…

成都百洲文化传媒有限公司助力电商品牌乘风破浪

在当今数字化时代&#xff0c;电商行业风起云涌&#xff0c;竞争异常激烈。成都百洲文化传媒有限公司凭借其对电商行业的深刻理解与实战经验&#xff0c;已然成为行业中的佼佼者。公司专注于电商服务领域&#xff0c;通过创新的营销模式和精准的市场策略&#xff0c;助力众多品…