【发布时间】:2020-02-01 21:02:22
【问题描述】:
我想随机化变量 a 和 b 以输出 a,b 格式的随机数 1 到 4。但是,当我运行以下代码时,无论运行多少次,输出总是相同的。例如,输出始终为:4,3(相同的输出显示 10 次。)
我在这里做错了什么?有人可以指出我正确的方向吗? 谢谢!
#include <iostream>
using namespace std;
int main()
{
int x;
int a, b;
a= rand() % 4 + 1;
b= rand() % 4 + 1;
x = 0;
while (x < 10) {
x++;
cout << a << "," << b << endl;
}
return 0;
}
【问题讨论】:
-
你需要在循环中设置
a和binside,否则它们只会在循环之前设置一次并且永远不会改变。 -
因为它也没有播种,c-faq.com/lib/srand.html。
-
我知道我现在做错了什么。谢谢!
-
一些关于现代随机数生成的娱乐和教育观点:rand() Considered Harmful
标签: c++ random while-loop random-seed