作者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