随笔-3  评论-0  文章-0  trackbacks-0
  2013年1月17日
http://home.ustc.edu.cn/~xuntai/C/Reference/Generate_Rand_Number.html
http://www.cnblogs.com/afarmer/archive/2011/05/01/2033715.html 
 关于生成随机数的,写的不错.
rand()  [0 RAND_MAX)
看一个实例

float value[10];
for(int i=0; i<10; i++){

value[10]=randomFloat();
printf("%f",value[i]);
}
float randomFloat(void){
   srand((unsigned)time(NULL)); 
     float r=(float)rand()/RAND_MAX;
   return r;    
}
 猜下值是多少?  
答案是一样的, 这是因为 srand((unsigned)time(NULL)) 在读取的时候时间已经固定了,所以无论怎样值是一样的;只要把 srand((unsigned)time(NULL)) 
移出for loop 答案就会变得不一样.

double RandomDouble(int min, int max){
      double d=min+((float)rand()/(RAND_MAX+1))*(max-min);
                             //[0,                                1]
      return d;     
   }
  这是我写的一个function , 返回[min, max ]的double值, 希望对你们有用.

posted @ 2013-01-17 16:14 ^小黑子^ 阅读(307) | 评论 (0)编辑 收藏