A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace 洗牌程序
  6. {
  7.     /// <summary>
  8.     /// 洗牌程序,这个主要使用随机数,我们让一个数组a的每一项等于1~52的数字
  9.     /// 然后产生一个随机数(使用52*random.NextDouble),然第一张牌插到这个障碍的
  10.     /// 位置,然后让这个位置的牌插到第一张牌位置,其他牌也依次,分别和随机拍互换,这样
  11.     /// 牌就由原来位置变换到现在位置。洗牌成功
  12.     /// </summary>
  13.     class Program
  14.     {
  15.         static void Main(string[] args)
  16.         {
  17.             while (true)
  18.             {
  19.                 int[] a = new int[52];
  20.                 for (int i = 1; i <= 52; i++)
  21.                 {
  22.                     a[i - 1] = i;
  23.                 }
  24.                 Random random = new Random();
  25.                 for (int i = 0; i < 52; i++)
  26.                 {
  27.                     int x = (int)(52 * random.NextDouble());
  28.                     int temp;
  29.                     temp = a[i];
  30.                     a[i] = a[x];
  31.                     a[x] = temp;
  32.                 }
  33.                 for (int i = 0; i < 52; i++)
  34.                 {
  35.                     Console.Write(a[i] + " ");
  36.                 }
  37.                 Console.WriteLine("\n");
  38.                 Console.ReadKey();
  39.             }
  40.         }
  41.     }
  42.    
  43. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

1 个回复

倒序浏览
LZ若将牌同时分配给3个人,用线程又如何实现?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马