📜  srand() c++ (1)

📅  最后修改于: 2023-12-03 15:20:20.053000             🧑  作者: Mango

C++中的srand()函数介绍

在C++中,srand()函数是用于生成伪随机数序列的函数。这个函数的原型如下:

void srand(unsigned int seed);

它只有一个参数,seed表示生成随机数的种子。种子是一个整数,必须是正整数。如果我们每次调用srand()函数时提供了相同的种子,那么我们得到的随机数序列也将是完全相同的。而不同的种子则生成不同的随机数序列。

一般情况下,我们使用当前时间作为种子来生成伪随机数序列,以保证每次运行程序产生的随机数序列都是不同的。

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand((unsigned int)time(NULL));
    int num = rand();
    cout << num << endl;
    return 0;
}

上述代码中,我们使用当前时间来生成随机数种子。具体来说,我们将当前时间转换成了一个无符号整数作为rand()函数的种子。然后我们调用rand()函数来得到一个随机数。这个随机数取值范围是0到RAND_MAX之间的整数,其中RAND_MAX是一个常量,它通常是32767。

我们也可以使用rand()函数来生成一定范围内的随机数,例如:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand((unsigned int)time(NULL));
    int num = rand() % 100 + 1;
    cout << num << endl;
    return 0;
}

上述代码中,我们首先生成一个0到99的随机数,然后将其加1,使得最终生成的随机数在1到100之间。

总结来说,srand()函数是C++用于生成伪随机数序列的一个重要函数,它可以通过设置种子来生成不同的随机数序列,而这个种子通常是当前时间转换成的一个整数。在使用rand()函数生成随机数时,我们可以通过对其结果取模来限制随机数的取值范围。