[問題] C語言 srand問題
for(j=0; j<3000; j++)
{
for(i=0;i<42;i++)
{
srand(time(NULL)+lotto[i]);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
n = rand()%42;
tmp = lotto[i];
lotto[i] = lotto[n];
lotto[n] = tmp;
}
}
這是在網站上截取一段程式碼
題目是做一個大樂透開獎號碼,42取7
以上是陣列亂數兩兩交換3000次的迴圈
問題在於^^^^^這個符號的部分
如果我把srand()裡面的+lotto[i]
拿掉~~每次出現的號碼都會一樣~~
可以請問原因嗎???
下面是我自己寫的
srand(time(NULL));
for(j=0;j<5000;j++)
{
n=rand()%42;
i=j%42;
temp=lotto[i];
lotto[i]=lotto[n];
lotto[n]=temp;
};
上面的寫法 跟我的寫法~哪一種會比較好??
感謝!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.144.251
→
12/17 01:39, , 1F
12/17 01:39, 1F
→
12/17 02:14, , 2F
12/17 02:14, 2F
推
12/17 06:55, , 3F
12/17 06:55, 3F
→
12/17 08:01, , 4F
12/17 08:01, 4F