作者TARK ( )
看板b95902HW
標題[作業] 雙班鋼彈..
時間Fri Oct 27 01:15:39 2006
我在讓電腦亂數取數字來猜的時候...
用的是srand(time(NULL))...
結果...在第一次取數字的時候
只要時間不對
它就會跳出一個裡面有重複數字的數字
然後就一直跳不出沒有重複數字的值
像這樣(是跑在程式裡面...)
1123
1123
...
...
1123
1126
...
...
1126
1130
1130
...
然後就一路跳到12XX才開始跑其他的
請問一下大家是怎麼讓它去取亂數數字的
還是說這題一開始根本不應該取亂數...@@
--
Shining like a diamond
Rolling with a dice
Standing on the ledge and show the wind how to fly.
When the world gets in my face,I say
HAVE A NICE DAY.
Bon Jovi
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.240.195
※ 編輯: TARK 來自: 140.112.240.195 (10/27 01:26)
1F:推 coo1be:有可能每猜一次你就srand(time(NULL))一次吧 10/27 13:33
2F:→ coo1be:這樣的話 在同一秒內取到的數會相同 10/27 13:34
3F:推 hyd0916:你的變數直接寫x=rand();這樣 你是不是每次都寫srand... 10/27 21:44
4F:→ hyd0916:你如果寫很多次srand它才會一直讀,如果只用一次應該ok 10/27 21:45
5F:推 TARK:我是只有用一次...但我一次是取四位數再用餘數分開 10/27 23:10
6F:→ TARK:但他同一秒內跑的東西還是一樣 10/27 23:11
7F:推 hyd0916:你的srand寫到迴圈裡了(如while 或for等等) 10/28 11:01
8F:→ hyd0916:把srand拿到迴圈外就可以了(sorry 之前講不清楚= =") 10/28 11:02
9F:→ hyd0916:你把srand拿到迴圈裡就跑很多次了...我的意思是這個= =" 10/28 11:03
10F:推 TARK:喔喔可以了...感恩~~ 10/28 16:50