首页 > 解决方案 > 如何使用 rand() 生成随机数?

问题描述

我需要帮助我编写的这段代码。问题是我希望它生成从 1000 到 9999 的随机数。但是如果你运行它,它会返回高于 9999 的数字。我已经阅读了一些关于正确使用方法的论坛,rand()但仍然卡住了。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{

    int w = 0;
    int mi;
    int i;
    srand(time(0));
    for(i=0;i<=20;i++)
    {
    mi= rand() % 9999+1000;    
    printf("%d\n",mi);
    }
    return 0;
}

标签: crandomsrand

解决方案


如果您需要 1000 到 9999 之间的数字,这意味着您需要 9000 个数字范围内的值。所以这个值需要是你的模数,而不是 9999。

mi = rand() % 9000 + 1000;

推荐阅读