[C++] 考前不負責猜題-發牌程式

看板NTUBIME101HW作者 (QQ)時間16年前 (2008/11/18 12:03), 編輯推噓4(405)
留言9則, 5人參與, 最新討論串1/1
#include <iostream> #include <iomanip> #include <ctime> #define swap(x,y) {int t=x;x=y;y=t;}//定義交換的函式 using namespace std; void shuffle(int [], int); //改成用教授上課說的方式 int main() { srand(time(NULL)); const int MAX = 52; //設定最大值(陣列個數) int poker[MAX]; char sign; for(int i=0;i<MAX;i++) poker[i] = i+1;//把牌排好 shuffle(poker,MAX); cout << "player1\tplayer2\tplayer3\tplayer4\n" << "-------\t-------\t-------\t-------\n"; for(int i=0;i<MAX;i++)//輸出牌 { sign = poker[i]%4 + 3;//請看ASCii的3~6號 cout << setw(2) << sign << setw(3) << poker[i]%13+1 << "\t"; if((i+1)%4==0) cout << endl; } system("pause"); return 0; } void shuffle(int poker_in[], const int MAX)//洗牌函式 { int change1,change2,temp; for(int i=0;i<10000;i++) { change1 = rand()%MAX; change2 = rand()%MAX; //如果用了最前面定義的那個swap()就可省下下面這三行 temp = poker_in[change2]; poker_in[change2] = poker_in[change1]; poker_in[change1] = temp; //亂數交換牌換一萬次總該乾淨了吧 //用法就是以下這樣 //swap(poker_in[change1],poker_in[change2]); //這樣就可以交換兩數了 //其實用template就可以寫出甚麼形態都可以交換的函式 } } 看看就好... 因為這程式用的東西都在考試範圍裡ˊˋ 想說陣列和函式的應用(8-3)老師堅持會考... 這隻程式難度比樂透低 應該不難了解@@ 祝大家考試順利! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59

11/18 14:33, , 1F
計中卷王! 快推
11/18 14:33, 1F

11/18 14:34, , 2F
原來有現成的花色符號...看到標題我還以為要用中文敘述..
11/18 14:34, 2F
※ 編輯: sb0917 來自: 125.232.115.72 (11/18 21:21)

11/19 07:33, , 3F
卷王C++直接100
11/19 07:33, 3F

11/19 15:29, , 4F
不要逼我去亂入農藝板喔...
11/19 15:29, 4F

11/19 16:55, , 5F
XDDDD
11/19 16:55, 5F

11/19 17:47, , 6F
科科
11/19 17:47, 6F

11/19 18:52, , 7F
void shuffle(int []);中括號前面為什麼不用放東西啊?
11/19 18:52, 7F

11/19 18:52, , 8F
int poker_in[]還有這個陣列大小是未定義嗎?
11/19 18:52, 8F

11/19 19:57, , 9F
助教出現了~!
11/19 19:57, 9F
※ 編輯: sb0917 來自: 140.112.7.59 (11/19 19:59)
文章代碼(AID): #198ZwXca (NTUBIME101HW)