世界最高古建筑:数字随机排列程序设计!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 19:43:25
4.(洗牌问题)刚买回的扑克牌都会依序排列放置,开始玩之前
我们都必须做多次洗牌的动作……

请设计一程式,可将1到52依序排列的数字随机打散后输出。

(例如第13张与第n张互调,第2张与第n张互调…)

5.(发牌问题)若 1-13代表黑桃(S) 1到13
14-26代表红心(H) 1到13

27-39代表红角(D) 1到13

40-52代表梅花(C) 1到13

请将上述随机打散的数字,发给东西南北四家,每家13张,

并且将每家的牌依S、H、D、C的花色分类,排序好后输出。

例:东: S8 S10 S13 H1 H4 D2 D3 D5 D10 D12 C1……

南: ……
请大家继续写些更好的答案!

简单。
S1到S13 就是1到13
H1到H13 就是14-26
依次类推

其实就是一个随机的问题。所有52张牌设置一个数组
如A[52] B[13] C[13] D[13] E[13]
B C D E分别保存北东南西的牌

然后给每个数组中的数据一个随机值。然后 用冒泡法按随机值大小排列
接着用循环语句
for (i=1;i<=52;i++)
然后对A[I]求余数
如果余数为0 J++;然后把I的值给B[J]
如果余数为1 K++;然后把I的值给C[K]
如果余数为1 L++;然后把I的值给D[L]
如果余数为1 M++;然后把I的值给E[M]

这样
B[1]-B[13]就是北的牌

C[1]-C[13]就是东的牌

D[1]-D[13]就是南的牌

E[1]-E[13]就是西的牌

搞定