|
|
Acute
論壇第一大毒王
論壇第一小神童
. 積分: 3281
. 精華: 8
. 文章: 11574
. 收花: 14037 支
. 送花: 3260 支
. 比例: 0.23
. 在線: 323 小時
. 瀏覽: 2250 頁
. 註冊: 8271 天
. 失蹤: 5623 天
|
|
|
|
|
|
|
#2 : 2004-11-14 07:04 PM
全部回覆
|
送花
(1)
送出中...
|
|
|
其實你幾乎寫對了阿, 跟你們老師要求的, 只差一點點而已
以下是你的程式, 我幫你加上需要修改的說明
int pork[53];
void wash_pork(int);
int main()
{
int a,b,rnd;
srand((unsigned)time(NULL));
// 另一個陣列放1~52,
for(a=1;a<=52;a++)
{
pork[a] = a;
}
//一個陣列存放亂數,
// 這段得改, 變成存放亂數到陣列, 而不是用亂數立即洗排
for(a=1;a<=100;a++)
{
rnd=rand()%52+1;
wash_pork(rnd);
}
// 利用兩個陣列來洗牌,
// 這兒再加一段, 用亂數陣列去洗排
//
// 洗牌後依序發排給東,西,南,北家四家。
// 這兒得小改, 不是把0-12 張給東, (以此類推)
// 而應該是 東得到陣列的 1, 5, 9...
// 西得到 2, 6, 10 ...
// 南得到 3, 7, 11 ...
// 北得到 4, 8, 12 ...
// 觀念: 利用loop %4 即可
for(a=1;a<=52;a++)
{
printf("%3d",pork[a]);
if( a%13 == 0)
{
printf("\n");
}
}
getch();
}
void wash_pork(int position)
{
int temp;
temp=pork[1];
pork[1]=pork[position];
pork[position]=temp;
}
[Acute 在 2004-11-14 07:05 PM 作了最後編輯]
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
|
|