zoukankan      html  css  js  c++  java
  • 程序设计_洗牌程序

    问题

    洗牌程序。52张牌(不算大小王),一个人随机地洗牌,每次结果都不同。

    分析

    随机数的使用。计算机不可能产生完全随机的数字。所谓随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似地模拟完全随机数,这种随机数被称为伪随机数。伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,但从实用的角度而言,已经足够了。伪随机数的选择是从随机种子开始,所以为了保证每次得到的伪随机数都足够地“随机”,随机种子的选择很重要。如果随机种子一样,那么同一个随机数发生器产生的随机数也会一样。一般地,我们使用系统时间有关的参数作为随机种子,这也是.NET Framework中的随机数发生器默认采用的方法。

    C#方案

    using System;
    class Program
    {
        static void Main(string[] args)
        {
            string[] porks = new string[] { "A-S", "A-C", "A-H", "A-D",   
                "2-S", "2-C", "2-H", "2-D",
                "3-S", "3-C", "3-H", "3-D", 
                "4-S", "4-C", "4-H", "4-D",  
                "5-S", "5-C", "5-H", "5-D",
                "6-S", "6-C", "6-H", "6-D",
                "7-S", "7-C", "7-H", "7-D",
                "8-S", "8-C", "8-H", "8-D",
               "9-S", "9-C", "9-H", "9-D",
                "10-S", "10-C", "10-H", "10-D",
                "J-S", "J-C", "J-H", "J-D",
                "Q-S", "Q-C", "Q-H", "Q-D",                              
                "K-S", "K-C", "K-H", "K-D",};
            string tmp;
            int i, randtmp;
            Random r1 = new Random();
            for (i = 0; i < 52; i++)
            {
                // 随机生成数组下标            
                randtmp = (int)(52 * r1.NextDouble());
                tmp = porks[i];
                porks[i] = porks[randtmp];
                porks[randtmp] = tmp;
            }
            for (i = 0; i < 52; i++)
            {
                Console.WriteLine("  {0}", porks[i]);
            }
            Console.WriteLine("Note: S-spade C-club H-heart D-diamond");
            Console.ReadKey();
        }
    }
  • 相关阅读:
    C#Windows服务程序安装常见问题解决方法
    解决access 导出 excel 字段截断错误的问题
    MySQL创建方法错误:This function has none of DETERMINISTIC, NO SQL
    解决问题 “You don't have permission to access /index.html on this server.”
    无法枚举容器中的对象,访问被拒绝的解决方法
    php xml操作
    php 字符串截取函数
    PHP iconv 解决utf-8和gb2312编码转换问题
    IIS6,IIS7中查看w3wp进程
    Solaris设备管理
  • 原文地址:https://www.cnblogs.com/liuning8023/p/2166687.html
Copyright © 2011-2022 走看看