zoukankan      html  css  js  c++  java
  • 【C++】随机数,rand()与srand()函数

    rand()函数

    rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。

    测试代码:

    #include<cstdlib>
    #include <iostream>
    using namespace std;
    
    int main()
    {
        for (int i = 0; i < 10; i++)
        {
            cout << rand() << endl;
        }
        system("pause");
        return 0;
    }

     运行三次的结果:

     

    因为没有随机种子所以, 三次的运行结果相同,因此就要引出srand


     srand()函数

    srand()可用来设置rand()产生随机数时的随机数种子。通过设置不同的种子,我们可以获取不同的随机数序列。
    可以利用srand((int)(time(NULL)));的方法,利用系统时钟,产生不同的随机数种子。不过要调用time(),需要加入头文件#include <ctime>。

    测试代码:

    #include<cstdlib>
    #include <iostream>
    #include <ctime>
    using namespace std;
    
    int main()
    {
        srand((int)(time(NULL)));
        for (int i = 0; i < 10; i++)
        {
            cout << rand() << endl;
        }
        system("pause");
        return 0;
    }

    运行三次的结果:

     

     三次的运行结果不同

    随机产生范围内的数字

    公式:

    const int MIN_VALUE = 10;
    const int MAX_VALUE = 18;
    int number = rand() % (MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;

    测试代码:

    #include<cstdlib>
    #include <iostream>
    #include <ctime>
    using namespace std;
    
    int main()
    {
        srand((int)(time(NULL)));
        for (int i = 0; i < 20; i++)
        {
            
            const int MIN_VALUE = 10;
            const int MAX_VALUE = 18;
            int number = rand() % (MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE;
            cout << number << endl;
        }
        system("pause");
        return 0;
    }

    结果:

  • 相关阅读:
    【转】一个lucene的官网例子
    mongodb(回滚)
    mongodb( 实现join)
    JSON.stringify && JSON.parse
    js下的面向对象
    node(规则引擎)
    objective-c(内存管理)
    STM32F0xx_USART收发配置详细过程
    STM32F0xx_GPIO配置详细过程
    STM32F0_新建软件工程详细过程
  • 原文地址:https://www.cnblogs.com/KMould/p/14894852.html
Copyright © 2011-2022 走看看