[問題] c新手 問題之二

看板C_and_CPP作者 (赤城我老婆)時間7年前 (2016/09/04 14:14), 編輯推噓2(2011)
留言13則, 5人參與, 最新討論串1/1
昨天在這裡問了一個問題 受益良多 今天小弟我又遇到了一個問題 請問rand()的正確使用方法 我想要取得0~3的隨機數字 上網查之後這樣設定rand()%4 但是每次執行的結果都一樣 (有點難形容 就是每次數字出現順序都一樣 然後某些數從來不會出現) 我想嘗試寫簡易版2048專案 目前進度還在嘗試隨機產生數字 程式碼如下 http://ideone.com/aZdVUt 希望前輩們能多多指教! -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.195.33 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1472969683.A.F5C.html

09/04 14:16, , 1F
加一行srand(time(NULL));
09/04 14:16, 1F

09/04 14:27, , 2F
你可以想像rand是從一個固定表開始產生數字
09/04 14:27, 2F

09/04 14:28, , 3F
加上1F說的那一行 可以讓表的起始位置不一樣
09/04 14:28, 3F

09/04 14:28, , 4F
謝謝 然後我發現另一個問題了.. 感謝
09/04 14:28, 4F

09/04 14:28, , 5F
根據時間決定這樣每次執行就不會都一樣了
09/04 14:28, 5F

09/04 14:30, , 6F
更新一下程式碼
09/04 14:30, 6F

09/04 14:30, , 7F

09/04 14:30, , 8F
這樣就沒問題了 只是效率變很低
09/04 14:30, 8F

09/04 14:31, , 9F
哈 原來是我位置放錯 謝啦
09/04 14:31, 9F

09/04 14:31, , 10F
09/04 14:31, 10F

09/04 15:05, , 11F
srand只要呼叫一次就可以了,不用每次使用前都呼叫
09/04 15:05, 11F

09/04 18:10, , 12F
謝啦2048已完成
09/04 18:10, 12F

09/04 20:15, , 13F
恭喜!有空可以多查查背後的原理哦!
09/04 20:15, 13F
文章代碼(AID): #1NoxlJzS (C_and_CPP)