看板 C_and_CPP 關於我們 聯絡資訊
以下的程式,可以解決 一謝問題 一 一定要 執行srand() 二 srand() 是用來設定亂數的 種子數, 為了確保使用與上次 不同的種子數, 犧牲一下 程式執行的速度 三 為了避免時間很接近的問題,讓前面 的 三百個亂數 虛耗掉 // by Dev-C++ 4.9.9.2 #include <cstdlib> #include <iostream> using namespace std; // ---------------------------------------------- int main(int argc, char *argv[]) { int a, b, i, t1, t2; t1= t2= time(NULL); while (t1 == t2) { t1= time(NULL);// get new time } srand((unsigned) t1); for (i=0;i<300;i++) { a= rand(); } // ------------------------------------------ for (i=0;i<10;i++) { a= rand(); b= rand(); cout << a << ", " << b << endl; } system("PAUSE"); return EXIT_SUCCESS; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.121.250
goliathplus:那三百次是應該是多餘的... 05/14 22:29
MOONRAKER:現在的電腦跑那三百次也不到一秒,大概沒啥用 05/14 23:45
jlovet:沒用,不管你把前面幾百個弄掉,srand決定了就決定一切了 05/14 23:57
sunneo:跑300次還不如 time(NULL) + 300 -_- 05/15 00:02