c# 简单摇号器实现,自定义摇号范围与选号个数

c# 简单摇号器实现,自定义摇号范围与选号个数

1、建立c#窗体应用程序并设计窗口外观如下

 

2、建立摇号随机函数,代码如下

       public int[] getRandomNum(int num, int minvlaue, int maxvlane)
        {
            Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
            int[] arrNum = new int[num];
            redo: int temp = 0;
            for (int i = 0; i < num - 1; i++)
            {
                temp = ra.Next(minvlaue, maxvlane);
                arrNum[i] = getNum(arrNum, temp, minvlaue, maxvlane, ra);
            }
            for (int m = 0; m < arrNum.Length; m++)
                for (int n = m+1; n < arrNum.Length; n++)
                {
                    if (arrNum[m] == arrNum[n])
                        goto redo;
                }
            return arrNum;
        }
        //判断产生的随机数是否有重复数出现
        public int getNum(int[] arrNum, int temp, int minvlaue, int maxvlane, Random ra)
        {
            for (int n = 0; n <= arrNum.Length - 1; n++)
            {
                if (arrNum[n] == temp)
                {
                    temp = ra.Next(minvlaue, maxvlane);
                    getNum(arrNum, temp, minvlaue, maxvlane, ra);
                }
            }
            return temp;
        }

2、“摇号”按钮的功能(调用函数)

        private void button1_Click(object sender, EventArgs e)  //button1是指的“摇号”这个按钮
        {
            int a = int.Parse(numericUpDown1.Value.ToString());  //获取选号个数
            int b= int.Parse(numericUpDown2.Value.ToString());  //获取选号范围最大值
            int[] result = new int[b];         //新建一个int数组获取随机数
            result = getRandomNum(b, 0, a);
            for (int i = 0; i < result.Length; i++)
            {
                textBox1.Text +=result[i].ToString()+"  ";
            }
        }

3、“退出”按钮的功能

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值