linux c生成0-1的随机数
时间: 2023-12-08 16:05:22 浏览: 305
产生0或1的随机数
Linux C中,可以使用rand()函数和srand()函数生成0到1之间的随机数。具体步骤如下:
1. 使用srand()函数设置随机数种子,可以使用time()函数获取当前时间作为种子,确保每次运行程序生成的随机数不同。
2. 使用rand()函数生成一个0到RAND_MAX之间的随机整数。
3. 将生成的随机整数除以RAND_MAX,得到一个0到1之间的随机小数。
下面是一个示例程序,可以生成0到1之间的随机小数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
double random_num;
srand((unsigned int)time(NULL)); // 设置随机数种子
random_num = (double)rand() / RAND_MAX; // 生成0到1之间的随机小数
printf("Random number: %f\n", random_num);
return 0;
}
```
需要注意的是,由于rand()函数是一个伪随机数生成函数,因此生成的随机数序列是可预测的。如果需要更高质量的随机数,可以使用其他随机数生成算法,如Mersenne Twister算法。
阅读全文