-1到1的随机值 C语言
时间: 2023-12-08 17:05:50 浏览: 34
你可以使用 C 语言的标准库函数 `rand()` 来生成一个随机整数,然后将其映射到 -1 到 1 的范围内。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
double randomValue() {
// 设置种子,以确保每次运行获得不同的随机数序列
srand(time(NULL));
int randomInt = rand(); // 生成一个随机整数
double randomValue = (double)randomInt / RAND_MAX; // 将随机整数映射到 [0, 1] 范围内
randomValue = randomValue * 2 - 1; // 将 [0, 1] 映射到 [-1, 1] 范围内
return randomValue;
}
int main() {
double random = randomValue();
printf("随机值: %lf\n", random);
return 0;
}
```
这个示例中的 `randomValue()` 函数会返回一个在 -1 到 1 之间的随机值。通过调用 `srand(time(NULL))` 来设置随机数种子,以确保每次运行时获得不同的随机数序列。然后,利用 `rand()` 函数生成一个随机整数,将其除以 `RAND_MAX`(随机数生成器的最大值),得到一个范围在 0 到 1 之间的随机数。最后,将这个随机数映射到 -1 到 1 的范围内,得到最终的随机值。