Re: [問題] 隨機亂數問題請教

看板C_and_CPP作者 (藍影)時間15年前 (2010/10/31 17:57), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/3 (看更多)
原文恕刪.. 我覺得可能看底下的 code 你會比較清楚一些.. #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX 1024 #define N 5 int main() { srand(time(NULL)); int i, pos1, pos2, tmp; int Poker[MAX] = {0}; // 0- MAX-1 之撲克牌 int Pick[N] = {0}; // 從0-MAX-1, 挑出N個不重複數字 // 1. 產生 poker, 0~MAX-1 for(i=0; i<MAX; i++) Poker[i]=i; // 2. 開始對 poker 洗牌, 洗 MAX 次 for(i=0; i<MAX; i++){ pos1 = rand() % MAX; // 挑到第pos1張 pos2 = rand() % MAX; // 挑到第pos2張 // 將第pos1張與pos2張對換, 共換了 MAX 次 tmp = Poker[pos1]; Poker[pos1] = Poker[pos2]; Poker[pos2] = tmp; } // 3. 最後從MAX張poker中,發前N張牌出來 for(i=0; i<N; i++) Pick[i]= Poker[i]; // 4. 看有哪 N 張牌 for(i=0; i<N; i++) printf("%d ", Pick[i]); return 0; } 以上 請參閱.. -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142

10/31 17:58, , 1F
= = 上一帖有解答了..
10/31 17:58, 1F
※ 編輯: tropical72 來自: 180.177.76.142 (10/31 17:59)

10/31 18:06, , 2F
還是謝謝你@@
10/31 18:06, 2F
文章代碼(AID): #1CpJsQW_ (C_and_CPP)
文章代碼(AID): #1CpJsQW_ (C_and_CPP)