- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace 洗牌程序
- {
- /// <summary>
- /// 洗牌程序,这个主要使用随机数,我们让一个数组a的每一项等于1~52的数字
- /// 然后产生一个随机数(使用52*random.NextDouble),然第一张牌插到这个障碍的
- /// 位置,然后让这个位置的牌插到第一张牌位置,其他牌也依次,分别和随机拍互换,这样
- /// 牌就由原来位置变换到现在位置。洗牌成功
- /// </summary>
- class Program
- {
- static void Main(string[] args)
- {
- while (true)
- {
- int[] a = new int[52];
- for (int i = 1; i <= 52; i++)
- {
- a[i - 1] = i;
- }
- Random random = new Random();
- for (int i = 0; i < 52; i++)
- {
- int x = (int)(52 * random.NextDouble());
- int temp;
- temp = a[i];
- a[i] = a[x];
- a[x] = temp;
- }
- for (int i = 0; i < 52; i++)
- {
- Console.Write(a[i] + " ");
- }
- Console.WriteLine("\n");
- Console.ReadKey();
- }
- }
- }
-
- }
复制代码 |