首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

C# 随机数,抽奖,该如何解决

2013-01-08 
C# 随机数,抽奖公司要做一个抽奖系统,不同职位的人中奖概率不一样。还没有好的思路,不知怎么去实现。求大神

C# 随机数,抽奖
公司要做一个抽奖系统,不同职位的人中奖概率不一样。还没有好的思路,不知怎么去实现。求大神指点一二, 最好能贴出关键的源码。
[解决办法]
好办,经理的,在列表中加10个,普通人加1个
[解决办法]
这个应该用随机数产生器Random吧,默认是产生一次,经理的就循环产生5次。只要产生n次中一次对应就算中奖,只要设置循环变量n就可以控制概率了。

代码就是Random加个循环就行了,比如预设88中奖,那么random.Next(100)产生个随机整数,是88的就中奖。
[解决办法]
说下我的思路:用Random产生随机数,这个没什么好说的.
然后就是设置中奖条件了,你可以用区间来控制.职位越高的人,中奖区间越大.
比如:
假如随机数生成的范围是0-9,那么你可以设置:
员工:随机数必须等于5才能中奖.
经理:随机数在3到6之间都算中奖.
总经理:随机数在2-9之间都算中奖.
源码如下:

static void Main(string[] args)
        {
            bool isContinue = true;
            while (isContinue)
            {
                Console.WriteLine("员工:1");
                Console.WriteLine("经理:2");
                Console.WriteLine("总经理:3");
                Console.WriteLine("输入您的职位代号,按回车开始抽奖:");
                string dutyName = Console.ReadLine();
                //生成一个小于10的正随机整数
                Random ra = new Random();
                int i = ra.Next(10);
                //Console.WriteLine(i);
                //根据职位名称判断用不同的中奖条件判断是否中奖
                switch (dutyName)
                {
                    case "1":
                        if (i == 5)
                        {
                            Console.WriteLine("恭喜你!你中奖了!");
                        }
                        else
                        {
                            Console.WriteLine("请先扶老太太过马路积累下人品吧...");


                        }
                        break;
                    case "2":
                        if (i >= 4 && i <= 6)
                        {
                            Console.WriteLine("恭喜你,你中奖了!");
                        }
                        else
                        {
                            Console.WriteLine("请先扶老太太过马路积累下人品吧...");
                        }
                        break;
                    case "3":
                        if (i >= 2 && i <= 7)
                        {
                            Console.WriteLine("恭喜你,你中奖了!");
                        }
                        else
                        {
                            Console.WriteLine("请先扶老太太过马路积累下人品吧...");
                        }
                        break;
                    default:
                        Console.WriteLine("没有该职位!");
                        break;


                }
                Console.WriteLine("是否继续抽奖?(Y/N)");
                string answer = Console.ReadLine();
                isContinue = ("y".Equals(answer.ToLower()));
            }
        }



[解决办法]
别忘了给自己留个后门哦。亲。。。。。。。。。。。。。C# 随机数,抽奖,该如何解决
[解决办法]
亲不要忘记给自己留个概率哦
[解决办法]
1.控制抽奖次数这个比较方便,也容易控制。
[解决办法]
一个可以设置中奖概率的抽奖程序 得分8L可行
关于抽奖概率的编程实现思路问题
[解决办法]
年终晚会上用??LZ好好干,支持8L的说话

[解决办法]
lz参与抽奖不?参与的话别忘了给自己留个后门哦C# 随机数,抽奖,该如何解决
[解决办法]
纯属来围观的!C# 随机数,抽奖,该如何解决

热点排行