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

如何在 C 循环中生成不同的随机数?

DDD
发布: 2024-12-09 17:20:12
原创
879 人浏览过

How to Generate Distinct Random Numbers in a C   Loop?

在 C 中的循环内生成不同的随机数

在 C 中,编写在循环内生成随机数的代码有时会产生意想不到的结果。考虑以下代码片段:

for (int t = 0; t < 10; t++) {
  int random_x;
  srand(time(NULL));
  random_x = rand() % 100;
  cout << "\nRandom X = " << random_x;
}
登录后复制

此代码的问题在于循环内重复使用 srand(time(NULL))。虽然 srand() 用于初始化随机数生成器,但在迭代过程中多次调用它会导致生成相同的随机数序列。

要在每次迭代中生成不同的随机数,srand( ) 应该只调用一次,最好是在程序开始时调用。这确保随机数生成器的种子仅设置一次,从而有效地“随机化”每次迭代的起点。

int main() {
  srand(time(NULL));
  for (int t = 0; t < 10; t++) {
    int random_x = rand() % 100;
    cout << "\nRandom X = " << random_x;
  }
}
登录后复制

此外,如果您需要完全重置随机数初始化,您可以使用不同的种子值再次调用 srand()。这将生成一个新的随机数序列,与之前的随机数序列不同。

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

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