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;
    }

    结果:

  • 相关阅读:
    在线学习VIM
    对三叉搜索树的理解
    Suffix Tree
    Skip list
    中文分词算法
    土豆的seo
    Gentle.NET文档(链接)
    a标签的link、visited、hover、active的顺序
    html dl dt dd标签元素语法结构与使用
    WEBZIP为什么打不开网页
  • 原文地址:https://www.cnblogs.com/KMould/p/14894852.html
Copyright © 2011-2022 走看看