日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C中的隨機(jī)數(shù)(媽的, 搞了我3個小時)

 skywood 2006-11-04
在devc++4.9.9.2 編譯通過
#include<stdlib.h>   
 #include<time.h>   
 int main()   
 {   
    int   i,stime;   
    srand((unsigned)time(NULL));   
    printf("Ten   random   numbers   form   0   to   1000!\n");   
    for(i=0;i<10;i++)   
    printf("%d\t",rand()%1000);   
    printf("\n");  
  }  
 
 
   rand(void)用于產(chǎn)生一個偽隨機(jī)unsigned int 整數(shù)。srand(seed)用于給rand()函數(shù)設(shè)定種子。
于是我把它貼到機(jī)器上, 做了一個10次循環(huán), 沒想到每次都生成一摸一樣的10個數(shù), 百思不得其解。。。。。。。。
最后終于弄明白了, 用現(xiàn)在的時間做種, 而time函數(shù)返回值是以秒為單位的, 10個循環(huán)當(dāng)然在1秒以內(nèi)。。。。。。所以才會有這個結(jié)果

BTW, Dev-c++ 4.9.9.2 can not support randomize() & random(int num);
 some body saying:  "
srand()
是用來初始化隨機(jī)種子數(shù)的,因?yàn)椋颍幔睿涞膬?nèi)部實(shí)現(xiàn)是用線性同余法做的,他不是真的隨機(jī)數(shù),只不過是因?yàn)槠渲芷谔貏e長,所以有一定的范圍里可看成是隨機(jī)的,式子如下 rand = rand*const_1 + c_var;srand函數(shù)就是給它的第一個rand值。
用 int x = rand() % 100;來生成 0 到 100 之間的隨機(jī)數(shù)這種方法是不或取的,比較好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0))  // 產(chǎn)生一個0到n之間的隨機(jī)數(shù)
 "
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多