查看單個文章
舊 2005-08-04, 10:58 PM   #5 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時
註冊日期: 2002-12-07
文章: 13382
精華: 0
現金: 26616 金幣
資產: 3024526 金幣
預設

是指 p2a() 放到 main() 裡面完成程式嗎?

sim(d,cnt,20000);
的 20000 大概是指擲骰子幾次

剩下 d 及 cnt 可以放到 p2a() 裡當引數
因為 printC(cnt); 是 統計骰子點數總和
所以可知 cnt 是骰子的紀錄

p2a() 應該是寫在 void sim() 裡

void sim(int dist[6], int cnt[6], int runs) { // 模擬骰子點數
//在這加入你的程式碼
int i;
int num;
for(i=0;i<runs;i++){
num=p2a(dist)-1;
if (num>=0) {
cnt[num]=cnt[num]+1;
}
}
}

rand()%sum; 可產生0~9的亂數
return i+1 產生1~6的點數
p2a(dist)-1 為何減一,因為C的陣列維度從0啟始,而p2a產生範圍是1~6所以減一
mini 目前離線  
送花文章: 2027, 收花文章: 8021 篇, 收花: 26846 次
回覆時引用此帖