在C中生成[0,n)范围内的随机数?
希望在C中创建一个非常简单的随机数生成器方法。数字应该介于0和24之间,例如可以是14.5f 任何帮助都会很好,谢谢!看一看,即使我的数学知识很差,它们也很容易实现 看起来我误解了原来的问题,我以为你想要自己的发电机(为了家庭作业、娱乐等)在C中生成[0,n)范围内的随机数?,c,random,numbers,C,Random,Numbers,希望在C中创建一个非常简单的随机数生成器方法。数字应该介于0和24之间,例如可以是14.5f 任何帮助都会很好,谢谢!看一看,即使我的数学知识很差,它们也很容易实现 看起来我误解了原来的问题,我以为你想要自己的发电机(为了家庭作业、娱乐等) 在使用之前,请确保使用srand对随机数生成器进行种子设定。您可以使用C内置的随机数生成器来获取介于0和30000之间的整数,如下所示: `srand(time(NULL)); int x= rand();` `srand(时间(空)); int x
在使用之前,请确保使用
srand
对随机数生成器进行种子设定。您可以使用C内置的随机数生成器来获取介于0和30000之间的整数,如下所示:
`srand(time(NULL));
int x= rand();`
`srand(时间(空));
int x=rand()`
你只需要做一些除法就可以得到一个十进制数,而不是和整数。这不仅非常简单,而且非常强大
请参阅链接上的代码
但是,如果可以使用,请使用特定检查
从
这里有很多东西,从简单的统一随机数到其他发行版。请注意,rand在某些平台(OS X,Ubuntu 8.04)上被弃用,而在random,srandom等平台上被弃用。请注意,rand在某些平台(OS X,Ubuntu 8.04)上被弃用支持random、srandom等函数。在每次调用之前进行种子设定?也可以使用什么进行种子设定?不……绝对不是每次。只在第一次调用之前进行一次。您可以使用srand(时间(0));@Dana:这是不可比的,只有rand()是C的一部分。这些函数在较新的系统上是等效的,但对于以前的任何系统,您都应该使用rand()解释低阶位问题。我们应该为将来使用此问题的任何读者提供最佳答案。 `srand(time(NULL)); int x= rand();`