作者sb0917 (QQ)
看板NTUBIME101HW
標題[C++] 自訂函式雛形+亂數使用
時間Sun Nov 2 12:07:13 2008
#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