c语言随机数均匀分布
时间: 2023-10-26 17:26:16 浏览: 211
12均匀分布随机数的Verilog HDL语言程序设计.doc
在 C 语言中,可以使用 `rand()` 函数生成伪随机数。然而,`rand()` 函数生成的数是一个伪随机数序列,其分布可能不完全均匀。如果你需要更好的均匀分布的随机数,可以使用 `random()` 函数或者 `srand()` 函数配合 `rand()` 函数。
下面是一个示例代码,演示如何生成均匀分布的随机数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i;
int min = 1;
int max = 10;
int range = max - min + 1;
// 设置种子
srand(time(0));
for (i = 0; i < 10; i++) {
int random_num = (rand() % range) + min; // 生成 min 到 max 范围内的随机数
printf("%d\n", random_num);
}
return 0;
}
```
在这个示例中,我们通过 `srand(time(0))` 设定了随机数生成器的种子为当前时间。然后,使用 `(rand() % range) + min` 来生成 min 到 max 范围内的随机数。最后,我们打印出了生成的随机数。
请注意,由于 `rand()` 函数生成的是伪随机数,如果需要更高质量的随机数,请考虑使用更强大的随机数生成库,如 OpenSSL 或者 GSL。
阅读全文