相同的随机数
Same random numbers
本文关键字:随机数 更新时间:2023-10-16
可能的重复:
相同的随机数每个循环迭代
这是我的代码:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int attack() {
srand((unsigned)time(NULL));
int hits=0;
for (int i=0;i<=3;i++) {
int a = rand() % 6;
if (a==6 || a==5)
{
hits++;
}
}
return hits;
}
int main () {
int a=attack();
cout << a << endl;
int b=attack();
cout << b << endl;
int c=attack();
cout << c << endl;
int d=attack();
cout << d << endl;
int e=attack();
cout << e << endl;
int f=attack();
cout << f << endl;
int g=attack();
cout << g << endl;
int h=attack();
cout << h << endl;
}
为什么我所有的变量都在main()
中相同的数字?
我只得到这样的输出:
1
1
1
1
1
1
1
1
srand()
应该在程序开始时称为(好吧,在您开始调用rand()
之前的某个时候)。
每次输入函数时(快速连续)调用它,您将种子值重置为同一事物,这就是为什么您会看到重复数字。
请注意,如果您的程序运行时,您的 May 偶尔会获得其他数字第二。
在第一个呼叫attack()
之前,将srand()
调用到main()
。
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 整数不会重复超过随机数
- if数组上的随机数
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 半随机数生成C++
- 程序在尝试猜测它选择的随机数时进入无限循环?
- 有没有办法在 c++ 中同时生成随机数?如果没有,是否有解决方法?
- 具有随机数的二维数组不会更改
- 随机数未达到限制
- 我想生成许多矩阵并用随机数填充它
- <random>在实践中应该实际使用哪个随机数引擎? std::mt19937?
- 制作具有平均值的随机数生成器
- 为什么 rand 不在我的代码中生成随机数?
- C++ 随机数生成器:尝试将结果作为向量获取,但通过制作 void 函数来执行此操作而出现错误
- 从给定种子生成相同的随机数序列C++
- 随机数生成函数说明
- C++ 尝试生成随机数时弹出警告帮助?
- 尝试在 c++ 中创建随机数生成器并收到错误
- 从给定的随机数组值生成随机数 Arduino程序C++
- 如何在个人计算机和群集 (c++) 上生成相同的随机数