📜  竞争性编程中最常用的 10 个内置 C++ 函数

📅  最后修改于: 2022-05-13 01:54:57.993000             🧑  作者: Mango

竞争性编程中最常用的 10 个内置 C++ 函数

在本文中,我们将讨论 10 个最常用的 C++ 内置函数,它们将帮助您在竞争性编程中节省时间并使代码简洁。

1. pow( )  

这个函数有助于找到一个数字的值,它提升到另一个数字。它总是将 double 数据类型的值作为参数(也接受 int 数据类型),结果是 double 数据类型。

头文件:

句法:

时间复杂度: O(指数)。

下面是一些示例来说明 C++ 中 pow() 方法的工作原理:

C++
// CPP program to illustrate
// power function
#include 
using namespace std;
  
int main()
{
    double x = 6.1, y = 4.8;
  
    // Storing the answer in result.
    double result = pow(x, y);
  
    // Printing the result upto 2
    // decimal place
    cout << fixed << setprecision(2) << result << endl;
  
    return 0;
}


C++
// CPP Program to demonstrate errors in double sqrt()
#include 
#include 
using namespace std;
  
// Driver Code
int main()
{
    int x = 24;
    double answer;
  
    answer = sqrt(x);
  
    // Printing square root of 24.
    cout << answer << endl;
    return 0;
}


C++
// C++ program to demonstrate the use of std::min
#include 
#include 
using namespace std;
  
int main()
{
    int a = 5;
    int b = 7;
  
    cout << std::min(a, b) << "\n";
    return 0;
}


C++
// C++ program to demonstrate use of max()
#include 
#include 
using namespace std;
  
int main()
{
    int a = 112, b = 123;
  
    // Comparing a and b
    cout << std::max(a, b) << "\n";
  
    // Returns the first one if both the numbers
    // are same
    cout << std::max(7, 7);
    return 0;
}


C++14
// C++ program for illustration
// of swap() function
#include 
#include 
using namespace std;
  
int main()
{
    int a = 10;
    int b = 20;
    cout << "Value of a before: " << a << endl;
    cout << "Value of b before: " << b << endl;
  
    // swap values of the variables
    swap(a, b);
    cout << "Value of a now: " << a << endl;
    cout << "Value of b now: " << b << endl;
    return 0;
}


C++
// CPP program to illustrate
// gcd function of C++ STL
#include 
#include 
// #include for C++17
  
using namespace std;
  
int main()
{
    int a = 6, b = 20;
    int ans = __gcd(a, b);
    // int ans = gcd(a, b) for C++17
  
    cout << "gcd(6, 20) = " << ans << endl;
    return 0;
}


C++
// C++ program to illustrate toupper() method
#include 
#include 
using namespace std;
  
int main()
{
    int j = 0;
    char str[] = "geekforgeeks";
    char ch;
  
    while (str[j]) {
        ch = str[j];
        putchar(toupper(ch));
        j++;
    }
  
    return 0;
}


C++
// C++ program to illustrate tolower() method
#include 
#include 
using namespace std;
  
int main()
{
    int j = 0;
    char str[] = "GEEKSFORGEEKS";
    char ch;
  
    while (str[j]) {
        ch = str[j];
        putchar(tolower(ch));
        j++;
    }
  
    return 0;
}


C++
// C++ program to demonstrate floor function
#include 
#include 
using namespace std;
  
// Driver function
int main()
{
    // Using floor function which returns
    // floor of input value
    cout << "Floor is: " << floor(2.3) << "\n";
    cout << "Floor is: " << floor(-2.3) << "\n";
  
    return 0;
}


C++
// C++ program to demonstrate ceil function
#include 
#include 
using namespace std;
  
// Driver function
int main()
{
    // Using ceil function which return
    // floor of input value
    cout << " Ceil is: " << ceil(2.3) << "\n";
    cout << " Ceil is: " << ceil(-2.3) << "\n";
  
    return 0;
}


输出
5882.79

2. sqrt()

此函数有助于找到任何数字的平方根。它采用浮点指针或整数数据类型作为参数。结果根据需要的数据类型四舍五入后返回。

头文件:

句法:

时间复杂度: θ(log(N))

下面是一些示例来说明 C++ 中 sqrt() 方法的工作原理:

C++

// CPP Program to demonstrate errors in double sqrt()
#include 
#include 
using namespace std;
  
// Driver Code
int main()
{
    int x = 24;
    double answer;
  
    answer = sqrt(x);
  
    // Printing square root of 24.
    cout << answer << endl;
    return 0;
}
输出
4.89898

3. 分钟()

此函数有助于找到两个数字之间的最小值。它接受两个相同数据类型的数字作为参数,并返回最小值。

头文件:

句法:

时间复杂度: O(1)

下面是一些示例来说明 C++ 中 min() 方法的工作原理:

C++

// C++ program to demonstrate the use of std::min
#include 
#include 
using namespace std;
  
int main()
{
    int a = 5;
    int b = 7;
  
    cout << std::min(a, b) << "\n";
    return 0;
}
输出
5

4 .最大限度()

它有助于找到两个值之间的最大值。此函数将两个相同数据类型的值作为参数,并返回最大元素的值。

头文件:

句法:

时间复杂度: O(1)。

下面是一些示例来说明 C++ 中 max() 方法的工作原理:

C++

// C++ program to demonstrate use of max()
#include 
#include 
using namespace std;
  
int main()
{
    int a = 112, b = 123;
  
    // Comparing a and b
    cout << std::max(a, b) << "\n";
  
    // Returns the first one if both the numbers
    // are same
    cout << std::max(7, 7);
    return 0;
}
输出
123
7

5. 交换()

此函数用于交换两个数字。它将两个相同数据类型的值作为参数并交换它们的值。

头文件:

句法:

时间复杂度: O(1)

下面是一些示例来说明 C++ 中 swap() 方法的工作原理:

C++14

// C++ program for illustration
// of swap() function
#include 
#include 
using namespace std;
  
int main()
{
    int a = 10;
    int b = 20;
    cout << "Value of a before: " << a << endl;
    cout << "Value of b before: " << b << endl;
  
    // swap values of the variables
    swap(a, b);
    cout << "Value of a now: " << a << endl;
    cout << "Value of b now: " << b << endl;
    return 0;
}
输出
Value of a before: 10
Value of b before: 20
Value of a now: 20
Value of b now: 10

6.gcd()

该函数用于求两个数的 GCD。它接受两个相同数据类型的值作为参数,并返回它们的 GCD。

头文件:

句法:

时间复杂度: O(log(max(value1, value2))))。

下面是一些示例来说明 C++ 中 gcd() 方法的工作原理:

C++

// CPP program to illustrate
// gcd function of C++ STL
#include 
#include 
// #include for C++17
  
using namespace std;
  
int main()
{
    int a = 6, b = 20;
    int ans = __gcd(a, b);
    // int ans = gcd(a, b) for C++17
  
    cout << "gcd(6, 20) = " << ans << endl;
    return 0;
}
输出
gcd(6, 20) = 2

7. toupper()

该函数用于将小写字符转换为大写。

头文件:

句法:

时间复杂度:O(1)。

下面是一些示例来说明 C++ 中 toupper() 方法的工作原理:

C++

// C++ program to illustrate toupper() method
#include 
#include 
using namespace std;
  
int main()
{
    int j = 0;
    char str[] = "geekforgeeks";
    char ch;
  
    while (str[j]) {
        ch = str[j];
        putchar(toupper(ch));
        j++;
    }
  
    return 0;
}
输出
GEEKFORGEEKS

8. 低()

该函数用于将大写字符转换为小写。

头文件:

句法:

时间复杂度: O(1)。

下面是一些示例来说明 C++ 中 tolower() 方法的工作原理:

C++

// C++ program to illustrate tolower() method
#include 
#include 
using namespace std;
  
int main()
{
    int j = 0;
    char str[] = "GEEKSFORGEEKS";
    char ch;
  
    while (str[j]) {
        ch = str[j];
        putchar(tolower(ch));
        j++;
    }
  
    return 0;
}
输出
geeksforgeeks

9. 地板()

此函数返回小于或等于给定参数的最大可能整数值。它接受一个浮点数作为参数并返回一个整数值。

头文件:

句法:

时间复杂度:O(1)

下面是一些示例来说明 C++ 中 floor() 方法的工作原理:

C++

// C++ program to demonstrate floor function
#include 
#include 
using namespace std;
  
// Driver function
int main()
{
    // Using floor function which returns
    // floor of input value
    cout << "Floor is: " << floor(2.3) << "\n";
    cout << "Floor is: " << floor(-2.3) << "\n";
  
    return 0;
}
输出
Floor is: 2
Floor is: -3

10. Ceil()

此函数与 floor() 正好相反,它返回大于或等于给定参数的最小可能整数值。它接受一个浮点值作为参数并返回一个整数值。

头文件:

句法:

时间复杂度: O(1)

下面是一些示例来说明 C++ 中 ceil() 方法的工作原理:

C++

// C++ program to demonstrate ceil function
#include 
#include 
using namespace std;
  
// Driver function
int main()
{
    // Using ceil function which return
    // floor of input value
    cout << " Ceil is: " << ceil(2.3) << "\n";
    cout << " Ceil is: " << ceil(-2.3) << "\n";
  
    return 0;
}
输出
Ceil is: 3
 Ceil is: -2