从36个数中随机产生6个不同的数为一组,然后将这六个数插入数据库中,请问这个循环该怎么写?

解决方案 »

  1.   

    6合彩?呵呵。
    简单点的:
    Random r =new Randon();
    int[] array = new int[6];   //保存生成结果
    int i=0;
    while(i<6)
    {
       int c = r.Next(1,36);
       bool dup = false;
       for(int j =0;j<i;j++)
       {
             if(array[j]==c)dup = true;
       }
       if(!dup)
       {
            array[i]=c;
            i++;
       }
    }
    得到的array数组就是你想要的结果了。
      

  2.   


    private void button10_Click(object sender, EventArgs e)
    {
        int[] k = this.Random6();
        string ret = "";
        foreach (int i in k)
        {
            ret += i.ToString() + " ";
        }
        MessageBox.Show(ret);
    }
    private int[] Random6()
    {
        Random r = new Random();
        int[] array = new int[6];  //保存生成结果 
         int i = 0;
        while (i < 6)
        {
            int c = r.Next(1, 36);
            bool dup = false;
            for (int j = 0; j < i; j++)
            {
                if (array[j] == c) dup = true;
            }
            if (!dup)
            {
                array[i] = c;
                i++;
            }
        }
        return array;
    }在段代码在VS2008下测试成功,在VS2005下应该也没问题。