当前位置: 代码迷 >> C语言 >> 如何得出rand( )中的种子?
  详细解决方案

如何得出rand( )中的种子?

热度:281   发布时间:2007-12-20 09:25:12.0
如何得出rand( )中的种子?
编写产生1000个1到10范围的随机数的程序,不必保存或打印数字,仅打印每个数字产生了多少次,让程序对10个不同的种子进行
计算,数字出现的次数相同吗?可以使用自定义函数或ANSI C中的rand()和srand(),这是一个测试特定随机发生器的随机性的方法。

“让程序对10个不同的种子进行计算,数字出现的次数相同吗”这步怎么算呀,我怎么知道用了那10个不同的种子呀?
搜索更多相关的解决方案: rand  种子  数字  定义  打印  

----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define COUNTLEN    10
#define MAXLEN      1000

int main(void)
{
    int count[COUNTLEN] = {0};
    int i ;
   
    srand(time(NULL)) ;
   
    for(i = 0;i < MAXLEN;i++)
    {
        count[rand()%COUNTLEN] ++ ;
    }
   
    for(i = 0;i < COUNTLEN;i++)
    {
        printf("%d:%d\n", i, count[i]) ;
    }
}
----------------解决方案--------------------------------------------------------