C 如何使用rand()生成随机数?

C 如何使用rand()生成随机数?,c,random,srand,C,Random,Srand,我需要关于我所写代码的帮助。问题是我想让它生成1000到9999之间的随机数。但是如果你运行它,它会返回大于9999的数字。我在一些论坛上读到了使用rand()的正确方法,但我还是被卡住了 #包括 #包括 #包括 #包括 内部主(空) { int w=0; int-mi; int i; srand(时间(0)); 对于(i=0;i如果您想要1000到9999之间的数字,这意味着您想要9000个数字范围内的值。因此,该值需要是您的模数,而不是9999 mi = rand() % 9000 + 10

我需要关于我所写代码的帮助。问题是我想让它生成1000到9999之间的随机数。但是如果你运行它,它会返回大于9999的数字。我在一些论坛上读到了使用
rand()
的正确方法,但我还是被卡住了

#包括
#包括
#包括
#包括
内部主(空)
{
int w=0;
int-mi;
int i;
srand(时间(0));

对于(i=0;i如果您想要1000到9999之间的数字,这意味着您想要9000个数字范围内的值。因此,该值需要是您的模数,而不是9999

mi = rand() % 9000 + 1000;
(rand()%(upper-lower+1))+lower
是一种方法,尽管它在统计上可能有偏差,特别是当
rand_MAX
很小的时候。这可能有一个很好的重复,尽管早期关于这类主题的一些答案很差。