c - 如何使用 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;
}
解决方案
如果您需要 1000 到 9999 之间的数字,这意味着您需要 9000 个数字范围内的值。所以这个值需要是你的模数,而不是 9999。
mi = rand() % 9000 + 1000;
推荐阅读
- snowflake-cloud-data-platform - 雪花查询失败实时提醒
- excel - 使用 Comparable Interface (VB.net) 比较 2 个 Excel 工作表并突出显示删除、更改或添加
- c# - 如何知道控件何时完全可见?
- c++ - Autosar 标准编译方式使用正则表达式
- node.js - 如何使用 mongodb 获取按类别过滤的特定专辑的歌曲?
- mysql - 使用多对多关系表查找值
- java - Struts 1.3 中的过滤器列表
- jenkins - 擦除 Jenkins 环境变量
- javascript - 是否有可能在 Firebase 上为移动应用创建帐户并让用户使用预设凭据登录?
- ios - 如何使用 NSFetchRequest 和 fetchLimit = 1 从核心数据中获取 0 或 1 个实体?