[問題] C++的亂數

看板C_and_CPP作者 (我不糟糕)時間16年前 (2009/10/25 11:14), 編輯推噓5(505)
留言10則, 6人參與, 最新討論串1/1
嗯,大家好,我是今天加入C++這個世界的新手 @@" 我剛剛在寫 rand() 的時候遇到了麻煩, 就是假如我在Windows的命令提示字元下Run時 (直接Run的話視窗會消失Orz) 它的亂數都會一樣 假如我在命令提示字元下執行了其他動作,又回去執行程式時, 就會發生同樣的事情,但數字不一樣。 Code: ============================================================================== int random1 = rand() % 200; cout << "\n" << random1; return 0; ============================================================================== 在命令提示字元下執行時: ============================================================================== C:\....\....\....>桌面\新文件1.exe 67 C:\....\....\....>桌面\新文件1.exe 67 C:\....\....\....>桌面\新文件1.exe 67 C:\....\....\....>桌面 '桌面' 不是內部或外部命令、 可運行的程式或批次檔。 C:\....\....\....>桌面\新文件1.exe 23 C:\....\....\....>桌面\新文件1.exe 23 ============================================================================== 會發生像以上的情形 ^_^" 希望各位前輩可以替我解答,感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.59.234

10/25 11:18, , 1F
srand(...) ... 放time()之類的東西
10/25 11:18, 1F

10/25 11:19, , 2F
如果不知道什麼是srand()或time() 請爬文或google
10/25 11:19, 2F

10/25 11:23, , 3F
所以如果這樣子寫的話,便是每一秒都會改變一次數字了嗎?
10/25 11:23, 3F
int math = 0; srand(time(NULL)); math=(rand()%100)+1; cout << "\n" << math; ※ 編輯: star123 來自: 218.167.59.234 (10/25 11:23)

10/25 11:26, , 4F
srand會更新你的亂數表 所以每次執行數字會不一樣
10/25 11:26, 4F

10/25 11:27, , 5F
一般來說都是放time(0) 間隔0秒
10/25 11:27, 5F

10/25 11:33, , 6F
time(0)並不是間隔0秒啊...
10/25 11:33, 6F

10/25 11:43, , 7F
只是回傳現在時間而已
10/25 11:43, 7F

10/25 11:46, , 8F
可參考z 3 7 16
10/25 11:46, 8F

10/25 11:50, , 9F
time(0)不是間隔0秒,可以去找一下time function的說明
10/25 11:50, 9F

10/25 11:59, , 10F
了解,感謝 ^^"
10/25 11:59, 10F
文章代碼(AID): #1AuyAbYD (C_and_CPP)