C语言的随机数是伪随机数,用到函数有srand(),rand(),其均在头文件stdlib.h中。
srand()会生成随机数种子,控制后面rand的生成。输入参数为整数。同一个种子值生成同一组随机数。注意是同一组。rand() 会随机生成一个位于 0 ~ RAND_MAX 之间的整数。
RAND_MAX 是
头文件中的一个宏,它用来指明 rand() 所能返回的随机数的最大值。C语言标准并没有规定 RAND_MAX 的具体数值,只是规定它的值至少为 32767。在实际编程中,我们可以直接将其输出。 时间函数 time(NULL) 作为 seed ,因为时间值每秒都不同。
生成整数的C程序为:
#include
#include
#include
int main(void){
int i, x;
double y;
srand(time(NULL));
for(i=0;i<10;i++)
{
x = rand()%10;
y = (double)rand()/(double)RAND_MAX;
printf("\n%d ",x);
printf("%lf ",y);
}
return 0;
}
这段代码会生成一组随机整数(<10),和一组0-1区间内的小数。