📜  C C++中的rand()和srand()(1)

📅  最后修改于: 2023-12-03 14:39:37.242000             🧑  作者: Mango

C/C++中的rand()和srand()

在C和C++编程语言中,rand()srand()是用于生成伪随机数的两个函数。这些函数可以帮助程序员在需要随机性的地方生成随机数。

rand()函数

rand()函数用于生成一个范围在0到RAND_MAX之间的伪随机整数。RAND_MAX是一个常量,表示随机数的最大值,其值至少为32767。

以下是一个示例代码片段,演示了如何使用rand()函数生成随机数:

#include <stdlib.h>
#include <stdio.h>

int main() {
    int randomNumber = rand();    // 生成一个伪随机整数
    printf("Random Number: %d\n", randomNumber);
    return 0;
}
srand()函数

rand()函数默认情况下以一个种子值初始化,在每次程序运行时都会使用相同的种子值生成相同的随机数序列。如果希望每次运行程序时都生成不同的随机数序列,可以使用srand()函数设置种子值。

以下是一个示例代码片段,演示了如何使用srand()函数设置种子值:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main() {
    srand(time(0));    // 使用当前时间作为种子值
    int randomNumber = rand();    // 生成一个伪随机整数
    printf("Random Number: %d\n", randomNumber);
    return 0;
}

在上面的代码中,我们使用当前时间作为种子值,以确保每次运行程序时生成的随机数序列都是不同的。

随机数范围控制

通过使用一些简单的数学运算,可以将生成的随机数限制在特定的范围内。

以下是一个示例代码片段,演示了如何将生成的随机数限制在给定的范围内:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main() {
    srand(time(0));
    int min = 10;
    int max = 20;
    int randomNumber = rand() % (max - min + 1) + min;    // 生成10到20之间的伪随机整数
    printf("Random Number: %d\n", randomNumber);
    return 0;
}

在上面的示例中,通过使用%运算符和一些数学运算,我们成功地将生成的随机数限定在了10到20之间。

以上就是关于C和C++中的rand()srand()函数的简要介绍。这些函数可以帮助程序员在需要随机性的地方生成随机数。