看板 NTUBIME101HW 關於我們 聯絡資訊
#include <iostream> #include <ctime>//引入這個函式庫才能用亂數 using namespace std; int loto_number( 這裡該丟什麼進去給他呢? );//函式的宣告 int main() { srand(time(NULL)) //亂數種子,簡單說就是這樣亂數才會一直產生不同的值 ........ } int loto_number( ??????? )//至於為什麼函式要宣告成int,因為題目要求 { ..... ... rand()%42 + 1;//取亂數 ..... } -------- 取亂數的方法 除了要include <ctime>以外 還要給亂數一個種子,不然他永遠會是同一個亂數值 至於使用的方法就是用rand() 這個意思是隨機產生一個亂數值 倘若我想產生1~10之中隨便一個數 那我只要 number = rand()%10 + 1 rand()%10之後會是0~9某個數字 所以加上1以後就是1~10隨便一個數字 所以我想隨機取1~42中的某個號碼,就只要把10換成42就好 這個用法其實沒什麼特別的原因,用久了就習慣了 還有這次程式有個要注意的地方 他是說一次傳回一個值 所以意思就是要做七次,至於如何判斷數字有沒有重複 或許跟要傳給loto_number()的資料有關囉 大家加油!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.111.179
vincent79715:紅色部分是你的疑問嗎? 那裏空白就可以了 11/02 12:18
sb0917:不是疑問,那裡可以丟東西,會變好寫很多 11/02 12:18
sb0917:譬如說...檢查有沒有重複.... 11/02 12:19
vincent79715:恩~  11/02 12:35
ck940560:下面說明文的<ctime>打錯了 11/02 16:36
ck940560:另外用42+1的話會跑0~43 能直接讓它不出現0嗎? 11/02 16:37
sb0917:不會跑出43阿...%42怎麼可能跑出42.... 11/02 16:51
※ 編輯: sb0917 來自: 125.232.111.179 (11/02 16:51)
sb0917:應該是哪裡打錯了吧@@ 11/02 16:52
ck940560:好了這下換我打錯@@ 有辦法42+1只輸出1~42嗎? 11/02 18:37
sb0917:rand()%42→0~41 rand()%42+1→1~42 11/02 18:39
ck940560:所以後面那個+1是真的有別的用途 不是單純43囉! 11/02 20:36
ck940560:我還以為你只是要強調有包括0所以要多1 11/02 20:37
sb0917:Q_____Q第一題寫不出來 11/02 21:00
ck940560:____Q不要打擊我信心 11/02 21:19
vincent79715:那是因為你想超過第八個 當然很難想... 11/02 22:01