首页 > 后端开发 > C++ > 如何在 C 循环中生成唯一的随机数?

如何在 C 循环中生成唯一的随机数?

Patricia Arquette
发布: 2024-12-06 19:41:12
原创
871 人浏览过

How to Generate Unique Random Numbers in a C   Loop?

在 C 语言的循环中生成唯一的随机数

在循环一组迭代时,可能需要生成不同的随机数每次循环执行时。但是,在循环中使用 C (srand) 中的默认随机数生成器可能会导致重复生成相同的数字。

重置随机数初始化

避免要解决这个问题并确保生成唯一的随机数,使用 srand() 重置随机数生成器的种子至关重要。该函数接受一个整数作为参数,调用时会初始化随机数生成器的内部状态。

实现

这里有一个示例,展示了如何在循环中生成唯一的随机数:

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

int main() {
    srand(time(NULL)); // Initialize the random number generator once

    // Execute the loop 10 times and generate a different random number each time
    for (int t = 0; t < 10; t++) {
        int random_x = rand() % 100;
        std::cout << "\nRandom X = " << random_x << std::endl;
    }

    return 0;
}
登录后复制

如何实现有效

在此示例中,我们使用 time(NULL) 函数根据当前时间生成种子。这确保了每次程序运行时种子都是不同的。通过在循环外使用 srand() 设置种子一次,我们保证随机数生成器将生成唯一的数字流。

重置随机数初始化

srand() 函数还将随机数生成器重置为其初始状态,丢弃任何先前的种子。这意味着后续调用 rand() 将根据新设置的种子生成新的数字序列。

以上是如何在 C 循环中生成唯一的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板