C++的随机数函数rand是一个伪随机数,根据固定的初始种子和算法计算得出。所以每次运行获取到的随机数序列是相同的。
要解决这个问题,需要设置一个随机数种子,一般我们使用当前时间作为种子。
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand((unsigned)time(NULL)); //添加当前时间为随机数种子
int a = 100;
while (a-- > 0)
{
//rand()产生的随机数对 100 取余得到 0-99 的范围
int n = rand() % 100; //获取 0-99 的随机数
cout << "n = " << n << endl;
}
return 0;
}