函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。
注意而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。
因此我们如果要生成以m为随机数的种子首先要调用srand();
下面就举例,生成以100,为种子的随机数10个,将他们控制在0~100之内.
#include <stdio.h>
int random(int m){
return rand()%m;//將随机数控制在0~m-1之间
}
int main(){
int n=10,i,m=100,s=50;
srand(s);//设置随机数种子
for(i=0;i<n;i++){
printf("%d ",random(m));
}
printf("\n");
return 0;
}
/*经常使用:srand(time(NULL));来生成以当前时间为种子的随机数,要包含<time.h>*/