c语言中随机生成数字0-1
时间: 2024-11-05 09:24:11 浏览: 11
C语言游戏编程之猜数字-CSDN.zip
在C语言中,你可以使用标准库函数`rand()`和`srand()`来生成0到1之间的随机浮点数。但是需要注意的是,`rand()`生成的是一个范围在0到RAND_MAX(通常是32767)之间的整数,所以需要对结果进行适当的转换。
以下是简单的步骤:
1. 首先,你需要初始化随机数发生器,通常是在程序开始时做一次,使用`srand(time(NULL))`,其中`time(NULL)`获取当前时间作为种子值,以增加随机性。
2. 然后,你可以通过下面的代码将`rand()`的结果映射到0到1之间的小数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
float random_between_0_and_1() {
// 获取并转换成浮点数
long int num = rand();
float scaled_value = (float)num / RAND_MAX;
return scaled_value;
}
int main() {
srand(time(NULL)); // 初始化随机数生成器
for (int i = 0; i < 10; i++) {
float random_number = random_between_0_and_1();
printf("Random number: %.2f\n", random_number);
}
return 0;
}
```
这个代码会循环生成10个0到1之间的随机小数,并打印出来。
阅读全文