float[] f=new float[10%,20%,70%]

解决方案 »

  1.   

    float[] f=new float[]{0.1.0.2,0.7};
      

  2.   

    float[] f=new float[]{0.1.0.2,0.7};
    Random  r=new Random();......int RandomIndex()//返回0,1,2,表示f 数组的3种概率
    {double dbRd=r.NextDouble();
    int nIndex=0;//这个是结果
    int i;
    double dbCur=0.0;
    for(i=0;i<f.Length;i++)
    {
       dbCur+=(double)(f[i]);
       if (dbRd<=dbCur)
       {
          return nIndex;
       }
    }return -1;//不会出现的,
    }
      

  3.   

    LZU问的是要随机取得这3个数中的一个还是要概率分别为这三个数的随机函数?
      

  4.   

            static void Main(string[] args)
            {
                List<int> t = new List<int>() { 1, 100, 1000000, 10, 5 };
                var r = from o in t
                        select new
                        {
                            name = o
                            ,
                            rate = string.Format("{0:P2}", (o * 1.0 / t.Sum(p => p)))
                        };
                foreach (var o in r)
                {
                    Console.WriteLine(o.ToString());
                }
            }
      

  5.   

    Random r = new Random();
                int a = r.Next(10);
                switch (a)
                {
                    case 0: return 1; break;//概率为0.1
                    case 1: return 2; break;//0.2
                    case 2: return 2; break;//0.7
                    default: return 7;
                        break;
                }
      

  6.   


    这是.net 高级版本的语法吧? 2.0没通过