C语言产生随机数需要调用stdlib.h头文件中的两个函数:
int rand(void): 产生一个0到RAND_MAX之间的随机整数。(RAND_MAX定义在stdlib.h, 其值为2147483647)
int rand(void): 产生一个0到RAND_MAX之间的随机整数。(RAND_MAX定义在stdlib.h, 其值为2147483647)
void srand(int seed): 用于初始化种子,便于每次产生不同的随机数。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
for (i=0; i<10; i++) {
printf("%d\n", rand());
}
return 0;
}
/*
上述方法产生随机数每次不同,但每次运行时产生的顺序是相同的。原因是每次的种子都相同,所以会产生相同的随机数列。一般使用时间作为种子保证每次的种子都不同。简单的实现代码:
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int i;
srand((int)time(0));
for (i=0; i<10; i++) {
printf("%d\n", rand());
}
return 0;
}
/*
如果要产生其他范围内的整数,可以使用取余运算实现。以下代码为产生0~100之间的随机数:
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int i;
srand((int)time(0));
for (i=0; i<10; i++) {
printf("%d\n", rand()%100);
}
return 0;
}