c语言中 rand()/(rand()+1 什么意思?谢谢

如题所述

rand()是取一个随机数,rand()+1当然也就是一个随机数了,这能理解吧

因为rand()返回的是int类型,所以int/int结果也会是一个int类型,这能理解吧

所以最后的结果肯定也是个随机数,不过结果的随机数应该有一定特性,因为假设分子的随机数是x,那么分母的随机数可能比x大也可能比x小,概率在一半一半,如果比x大,那么这个除法的结果就是0。例如4除以5的结果是商0,余数为4。

所以结果会是一个特殊的随机数,具体要这个特殊的随机数有什么用,那谁知道呢
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-14
获得一个大于1的随机数追问

他的原型公式是怎么样的呢?

追答

什么叫做原型公式,rand()是一个随机数函数,可能返回任意32位整数。就是任意两个随机整数相除,得到的商取整,然后再加1。

追问

那比如j=1+(10*rand()/rand_max+1)这种形式又是什么原理呢想请大神解释一下,我想用它来表示1到10之间的一个随机数

追答

“用它来表示1到10之间的一个随机数”,easy。
j = (rand()%10 + 1)
前面最好加多一个设置随机种子的函数,srand().
srand(time(NULL));
j = rand()%10 + 1;

本回答被提问者采纳
相似回答
大家正在搜