要求:52张扑克牌 ,随机分给四个玩家,用户可以输入洗牌次数,运行效果如: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace Shuffle { class Program { static void Main(string[] args) { Card c = new Card(); //c.print(); Console.WriteLine("请输入洗牌的次数"); int n = Int32.Parse(Console.ReadLine()); Console.WriteLine("洗牌后"); c.wash(n); c.print(); } } /// <summary> /// 牌 /// </summary> public class Card { ArrayList arrayList1; ArrayList arrayList2; string[,] cards; public Card() { //初始化花色 arrayList1 = new ArrayList(4); arrayList1.Add('/x0003'); arrayList1.Add('/x0004'); arrayList1.Add('/x0005'); arrayList1.Add('/x0006'); //初始化点数 arrayList2 = new ArrayList(13); arrayList2.Add('A'); for (int i = 2; i <= 10; i++) { arrayList2.Add(i); } arrayList2.Add('J'); arrayList2.Add('Q'); arrayList2.Add('K'); //初始化牌 cards = new string[4, 13]; for (int i = 0; i < 4; i++) { for (int j = 0; j < 13; j++) { cards[i, j] = arrayList1[i].ToString() + arrayList2[j].ToString(); } } } /// <summary> /// 洗牌,times次数 /// </summary> /// <param name="times"></param> public void wash(int times) { Random ra = new Random(); int m,n; for (int k = 0; k < times; k++) { for (int i = 0; i < 4; i++) { m = ra.Next(0, 3); for (int j = 0; j < 13; j++) { string temp = null; n = ra.Next(0, 13); temp = cards[m, j]; cards[m, j] = cards[i, n]; cards[i, n] = temp; } } } } /// <summary> /// 输出 /// </summary> public void print() { for (int i = 0; i < 4; i++) { Console.WriteLine("第{0}位玩家", i + 1); for (int j = 0; j < 13; j++) { Console.Write(cards[i, j] + " "); } Console.WriteLine(); } } } }