zoukankan      html  css  js  c++  java
  • 这些C++常用内置函数你会几个??

    前言

    数学函数
    C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。
    为了利用这些函数,您需要引用数学头文件 。

    函数描述
    double cos(double); 该函数返回弧度角(double 型)(度数)的余弦。
    double sin(double); 该函数返回弧度角(double 型)(度数)的正弦。
    double tan(double); 该函数返回弧度角(double 型)(度数)的正切。
    double log(double); 该函数返回参数的自然对数。
    double pow(double, double); 假设第一个参数为 x,第二个参数为 y,则该函数返回 x 的 y 次方。
    double hypot(double, double); 该函数返回两个参数的平方总和的平方根,也就是说,参数为一个直角三角形的两个直角边,函数会返回斜边的长度。
    double sqrt(double); 该函数返回参数的平方根。
    int abs(int); 该函数返回整数的绝对值。
    double fabs(double); 该函数返回任意一个十进制数的绝对值。
    double floor(double); 该函数返回一个小于或等于传入参数的最大整数。

    随机函数
    在许多情况下,需要生成随机数。关于随机数生成器,有两个相关的函数。一个是 rand(),该函数只返回一个伪随机数。生成随机数之前必须先调用 srand() 函数。
    下面是一个关于生成随机数的简单实例。实例中使用了 time() 函数来获取系统时间的秒数,通过调用 rand() 函数来生成随机数:

    #include <iostream>
    #include <ctime>
    #include <cstdlib>
     
    using namespace std;
     
    int main ()
    {
       int i,j;
     
       // 设置种子
       srand( (unsigned)time( NULL ) );
     
       /* 生成 10 个随机数 */
       for( i = 0; i < 10; i++ )
       {
          // 生成实际的随机数
          j= rand();
          cout <<"随机数: " << j << endl;
       }
     
       return 0;
    }
    

    当上面的代码被编译和执行时,它会产生下列结果:

    随机数: 1748144778
    随机数: 630873888
    随机数: 2134540646
    随机数: 219404170
    随机数: 902129458
    随机数: 920445370
    随机数: 1319072661
    随机数: 257938873
    随机数: 1256201101
    随机数: 58032298

    setw()函数
    在C++中,setw(int n)用来控制输出间隔。
    例如:

    cout<<'s'<<setw(8)<<'a'<<endl;

    则在屏幕显示

    s       a

    //s与a之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示’a’共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度输出。
    setw()默认填充的内容为空格,可以用setfill()配合使用设置其他字符填充。

    cout<<setfill('*')<<setw(5)<<'a'<<endl;
    则输出:
    ****a //4个*和字符a共占5个位置。

    所谓域宽,就是输出的内容(数值或字符等等)需要占据多少个字符的位置,如果位置有空余则会自动补足。比如我们要设置域宽为2,那么当输出一位数1的时候输出的就是“ 1”,即在1前面加了一个空格。空格和数字1正好一共占用了两个字符的位置。如果你C++学的不好,可以去拿我的C++最新精讲教程点我进裙自行获取,

    我们在设置域宽和填充字符的时候要注意几点:
    ①设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。
    ②我们可以对一个要输出的内容同时设置域宽和填充字符,但是设置好的属性仅对下一个输出的内容有效,之后的输出要再次设置。即cout <<setw(2) <<a <<b;语句中域宽设置仅对a有效,对b无效。
    ③setw和setfill被称为输出控制符,使用时需要在程序开头写上#include “iomanip.h”,否则无法使用。

    实例

    #include <iostream>
    using namespace std;
     
    #include <iomanip>
    using std::setw;
     
    int main ()
    {
       int n[ 10 ]; // n 是一个包含 10 个整数的数组
     
       // 初始化数组元素          
       for ( int i = 0; i < 10; i++ )
       {
          n[ i ] = i + 100; // 设置元素 i 为 i + 100
       }
       cout << "Element" << setw( 13 ) << "Value" << endl;
     
       // 输出数组中每个元素的值                     
       for ( int j = 0; j < 10; j++ )
       {
          cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
       }
     
       return 0;
    }

    上面的程序使用了 setw() 函数来格式化输出。当上面的代码被编译和执行时,它会产生下列结果:

    Element        Value
          0          100
          1          101
          2          102
          3          103
          4          104
          5          105
          6          106
          7          107
          8          108
          9          109
    
     
  • 相关阅读:
    fiddler 增加请求时间显示
    es 多字段分词查询优化
    【二分】【预处理】zoj4029 Now Loading!!!
    【数论】【扩展欧几里得】Codeforces Round #484 (Div. 2) E. Billiard
    【set】【multiset】Codeforces Round #484 (Div. 2) D. Shark
    【推导】Codeforces Round #484 (Div. 2) C. Cut 'em all!
    【递推】Codeforces Round #483 (Div. 2) [Thanks, Botan Investments and Victor Shaburov!] D. XOR-pyramid
    【数论】Codeforces Round #483 (Div. 2) [Thanks, Botan Investments and Victor Shaburov!] C. Finite or not?
    【Trie】【枚举约数】Codeforces Round #482 (Div. 2) D. Kuro and GCD and XOR and SUM
    【枚举】【贪心】Codeforces Round #482 (Div. 2) B. Treasure Hunt
  • 原文地址:https://www.cnblogs.com/chengxuyuanaa/p/11962679.html
Copyright © 2011-2022 走看看