第2个回答 2023-03-10
要用rand()生成1到100之间的随机数,可以先生成一个0到RAND_MAX之间的随机整数,再经过一定的运算,将其归一化到1到100之间。具体的代码实现如下:
```
// 设置随机数种子,可以放在main函数外或命名空间中
srand(time(NULL));
// 生成1到100之间的随机数
int num = rand() % 100 + 1;
```
其中,srand(time(NULL))这句话是为了设置随机数种子,以使得每次生成的随机数不重复。时间是随机种子的一种常用设置方式,保证每次程序运行时种子不同,从而产生不同的随机数序列。num = rand() % 100 + 1则通过取余的方式,将生成的随机数映射到1到100之间。
值得注意的是,C++中默认的rand()函数并不是真正的随机数生成器,而是通过一定的算法来生成伪随机数,所以不能完全避免出现重复的情况。