C语言生成随机数的函数是上面
时间: 2024-10-21 21:06:24 浏览: 31
在C语言中,生成随机数需要包含头文件`<stdlib.h>`,并且通常会用到`rand()`和`srand()`这两个函数。
1. `srand(unsigned int seed)`:这是一个种子初始化函数,用于设置随机数生成器(Random Number Generator,RNG)的初始状态。`seed`参数可以是任意非零整数,通常我们会用当前时间或其他某种确定性的源作为种子,以保证每次程序运行的随机数序列不同。
2. `rand()`:这是一个返回随机数的函数,它会基于之前设定的种子生成下一个伪随机数。由于`rand()`生成的是一个范围有限的整数,如果需要生成特定类型的随机数(如整数、浮点数),你可能需要做一些额外的计算。
例如,生成一个0到RAND_MAX之间的随机整数(RAND_MAX由`<stdlib.h>`定义,通常是一个相当大的无符号整数):
```c
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(0)); // 使用当前时间作为种子
int random_number = rand();
printf("Random number between 0 and RAND_MAX: %d\n", random_number);
return 0;
}
```
如果你想要生成更均匀分布的小数,可以先生成一个大于等于0小于1的浮点数,再乘以你需要的最大值:
```c
float uniform_random_between_0_and_max(int max) {
return (float)rand() / RAND_MAX * max;
}
```
阅读全文