c语言随机数产生函数
时间: 2024-08-13 07:06:38 浏览: 57
C语言中用于生成随机数的函数主要集中在`<stdlib.h>`头文件中。这里有几个常用的随机数生成函数:
1. `rand()`: 这是最基本的随机数生成函数,返回一个介于0(包括)和`RAND_MAX`(不包括)之间的整数。需要注意的是,如果没有显式地用`srand()`函数设置随机数种子,`rand()`会返回重复的序列。通常推荐使用`srand(time(NULL))`设置初始种子,使用当前时间作为随机性来源。
```c
#include <stdlib.h>
int random_number = rand();
```
2. `srand()`: 这个函数用来初始化随机数发生器,通常会用当前时间作为参数,以增加随机性的多样性。
```c
#include <stdlib.h>
srand(time(NULL));
```
3. `random()`: 与`rand()`类似,但它返回的结果是一个介于0(包括)和`RAND_MAX`(不包括)之间的double类型浮点数。
4. `uniform_int_distribution`和`uniform_real_distribution` (C++11开始引入): 如果你需要更高质量的随机数生成,可以使用C++标准库中的这些模板类,如`std::uniform_int_distribution`用于生成均匀分布的整数,`std::uniform_real_distribution`用于生成均匀分布的双精度浮点数。
相关问题--
1. `RAND_MAX`的值是多少?
2. 如何提高`rand()`函数生成随机数的质量?
3. C++中如何使用`uniform_int_distribution`生成随机整数?
阅读全文