比如1出现概率为0.4,2是0.1,3是0.2,4是0.3。程序应该怎么写出每次回出现什么数?
不好意思,错了。太粗心了。
把概率保存在这样一个结构中,
struct GUAI{
int num;//数字
int Guai;//概率
};
GUAI Array[10];//假设有十个数,他们的概率保存在这个数组中
int a = rand();
int nMax = 0;
a = a % 101;//使a为0~100之间的一个数。
int num ;//num 为想要得到的数
for(int i = 0 ; i < 10 ; i++)
{
nMax += Array[i].Guai;
if( Array [ i ].Guai < nMax)
{
num = Array[i].num;
break;
}
}