书上有一个程序有一个部分没看懂,来请教!
《C primer plus》第五版第17章515页,一个模仿顾客排队的程序,有一部分我没有看懂,但是整个程序写下来好麻烦,如果有人手边有这本书,并且能够看到,就帮我解决一下,如果没有不能解决,也不怪大家。就是下边这一段程序:
double min_per_cust;//顾客到来的平均间隔时间
//x是顾客到来的平均间隔时间
//如果一分钟内有顾客到来,就返回true.
bool newcustomer(double x)
{
if(rand() * x/RAND_MAX <1)
{
return ture;
}
else
{
return false;
}
}
我的问题是为什么这个程序rand() * x/RAND_MAX <1就是表明一分钟内有顾客到来?
[解决办法]
if(rand() * x/RAND_MAX <1)
if(x *(rand()/RAND_MAX) <1)//也就是随机 取 0 -x 之间的数了
//取随机数然后加上除以最大数,乘以平均每分钟来的人数!