C中设定间隔生成随机数

2024-02-24

我确实了解Python,并且在设定的时间间隔内创建随机数非常简单,但在C 中似乎有点复杂。这是我通过查看有关堆栈溢出的其他问题得到的结果。

int diceroll_1;
diceroll_1=(rand()%3)+1;
printf("%d\n",diceroll_1);

问题是它每次都给我 3。我希望每次编译和运行程序时它都不同。我希望它是从 1 到 3 随机的。我的理解是,这可能会保存它,这就是为什么它每次都会生成 3 而不是我想要的。如何每次生成一个随机数而不是相同的数字?


你播种了吗srand?如果没有,请尝试这样:

#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    srand(time(NULL)); // only once

    // roll the dice
    int diceroll_1;
    diceroll_1=(rand()%3)+1;
    printf("%d\n",diceroll_1);

   return 0;
}

Output:

Georgioss-MacBook-Pro:~ gsamaras$ gcc -Wall main.c 
Georgioss-MacBook-Pro:~ gsamaras$ ./a.out 
3
Georgioss-MacBook-Pro:~ gsamaras$ ./a.out 
1

PS:

rand()产生伪随机数,正如我们的教授一样。在IP上坚持!它需要播种,否则它会一次又一次地给出相同的数字,因为从ref http://man7.org/linux/man-pages/man3/rand.3.html我们有:

如果未提供种子值,则自动执行 rand() 函数 种子值为 1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C中设定间隔生成随机数 的相关文章

  • 从实体获取单列

    如何从查询中获取单个列而不是整个对象 我可以这样做来获取整个对象 但我想要的只是名称 IList
  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 如何使用 C# 以编程方式编辑 Power BI Desktop 文档参数或数据源?

    我有一个在 Power BI Desktop 中内置的报告模板 并保存为 pbix 或 pbit 文件 该模板使用DirectQuery SQL数据库作为数据源 而服务器地址和数据库名称被提取到参数中 还有一个参数包含一个ReportId
  • C# Outlook 从收件人获取 CompanyName 属性

    我目前正在使用 C 编写 Outlook 2010 AddIn 我想要的是从我从 AppointmentItem 中提取的 Recipient 对象中获取 CompanyName 属性 因此 有了 AppointmentItem 的收件人
  • DataGridView 列中的数字文本框

    我有一个DataGridView 我想要它的第一列或任何所需的列 其中有textboxes在其中 成为NUMERIC ONLY 我目前正在使用这段代码 private void dataGridViewItems EditingContro
  • “没有合适的默认构造函数可用”——为什么会调用默认构造函数?

    我已经查看了与此相关的其他一些问题 但我不明白为什么在我的情况下甚至应该调用默认构造函数 我可以只提供一个默认构造函数 但我想了解它为什么这样做以及它会产生什么影响 error C2512 CubeGeometry no appropria
  • 如何设置消息队列的所有者?

    System Messaging MessageQueue 类不提供设置队列所有权的方法 如何以编程方式设置 MSMQ 消息队列的所有者 简短的答案是 p invoke 对 windows api 函数的调用MQSetQueueSecuri
  • 编写具有多种类型的泛型扩展方法时的类型推断问题

    我正在为 IEnumerable 编写一个通用扩展方法 用于将对象列表映射到另一个映射对象列表 这就是我希望该方法的工作方式 IList
  • 在 C 语言中替换宏内的宏

    我正在尝试使代码部分可重用 我下面的评论片段没有达到我想要的效果 define NAME ABC define LOG SIZE NAME LEN 我想LOG SIZE决心ABC LEN 我尝试过使用 但没能让它发挥作用 LOG SIZE在
  • C 与 C++ 中的 JNI 调用不同?

    所以我有以下使用 Java 本机接口的 C 代码 但是我想将其转换为 C 但不知道如何转换 include
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo
  • 使用 IdentityDbContext 和 Code First 自动迁移表位置和架构的实体框架?

    我正在尝试使用 IdentityDbContext 类设置自动迁移更新 并将更改传播到整个数据库的实际 DbContext 在进入代码之前 在使用自动迁移实现 IdentityDbContext 时 我收到此错误 影响迁移历史系统表位置的自
  • 对多个对象使用事件处理程序

    我有 20 件物品List
  • IDisposable 的显式实现

    虽然有很多关于IDisposable在 SO 上找到 我还没有找到答案 我通常遵循这样的做法 当我的一个班级拥有一个IDisposable对象然后它也实现IDisposable并打电话Dispose在拥有的对象上 然而最近我遇到了一个类 它

随机推荐

  • 在哪里可以下载 64 位 Travis-CI VM 映像?

    这两个blog http ruby journal com debug your failed test in travis ci posts http reidburke com 2013 01 28 debugging travis b
  • Spring MVC:如何从返回字符串的控制器方法对模型的属性进行单元测试?

    例如 package com spring app import org springframework stereotype Controller import org springframework ui Model import or
  • Swift 3:在 SKSpriteNode 上切一个洞

    首先 我知道 这个问题在这里已经有很多答案 但它们并没有帮助我解决这个问题 我编写了一个小游戏 第一次启动时有一个小教程 其中逐步解释了游戏的每个元素 在每一步中 我都想强调其中一个要素 所以我在元素前面放置了一个 alpha 为 0 9
  • 如何使用 vue.js 获取所选选项的索引

    抱歉新手问题 但是我如何从选择框中获取所选元素的索引并运行函数 我下面的代码不会触发 switchView 函数
  • Virtualbox 虚拟机上的 Windows 7:是否兼容 OpenGL 1.x?

    在 Windows 7 客户机的 VirtualBox 虚拟机设置 或系统信息 中 我无法查明我的虚拟显卡是否兼容 OpenGL 1 x 我需要 OpenGL 1 x 兼容性才能进行测试黑莓7模拟器 http developer black
  • 格式化Remove-Item命令的详细输出

    我有以下命令 Get ChildItem build path Include bak orig txt chirp config Recurse Remove Item Verbose 从 VS 解决方案的构建文件夹中清除一些文件 我使用
  • 升级到 Mountain Lion 和 XCode 4 破坏了我的“品牌”?

    TL DR 我升级了一些东西 现在我无法运行 make wtf 我刚刚从 Mac OS X 10 6 升级到 10 8 Mountain Lion 然后安装了 XCode 4 以前我有 Developer Applications Xcod
  • 我已将项目升级到 Razor 视图引擎,但 VS2010 仍然自动生成 WebForms

    我已经升级到 MVC3 和 Razor 一切正常 然而 在我的return View model 视图 是红色的 VS2010 将帮助我生成一个视图 当我这样做时 它会生成一个 aspx WebForms 视图 项目中没有其他 aspx 文
  • Matplotlib 无法在 Windows 10 上运行 - DLL 无法加载

    我已经在 Windows 10 机器上安装了 matplotlib pip3 install matplotlib 我收到一条消息 表明它正在使用轮子 matplotlib 3 4 1 cp39 cp39 win amd64 whl1 当我
  • MIDI 入门

    我想编写一个应用程序 从我的 MIDI 钢琴中读取 USB MIDI 数据 并且很可能从我能找到的任何其他 MIDI 数据中读取数据 正在寻找一个与 NET 一起使用的库 并且即使另一个应用程序正在使用 MIDI 也允许我 拦截 此数据 T
  • 事件计数的窗口聚合

    我对我的卡夫卡事件进行了分组 private static void createImportStream final StreamsBuilder builder final Collection
  • 是否可以从 AWS CLI 打开 AWS 管理控制台网站?

    假设我使用特定账户登录到我的 AWS CLI 工具 我可以执行如下命令 aws ecr describe repositories 是否有一个 AWS CLI 命令可以在默认浏览器上打开 AWS 管理控制台网站 并已登录到同一账户 例如 类
  • C 程序中的“原型”是什么?

    我用来学习 C 的书解释了一种叫做 原型 的东西 但我无法正确理解 在书中 以下示例代码解释了这些 原型 这在这里意味着什么 什么是 原型 two func c a program using two functions in one fi
  • AdMob:过滤儿童广告[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我设法在我的 Android 和 iOS 应用程序上运行 AdMob sdk 并且它可以完美地显示广告
  • 在 Visual Studio Express 2010 中无法选择 Main Method 作为启动对象?

    我在我的一个课程中编写了一个 Main 方法 我的启动对象说Not set 单击它时 下拉菜单中不会显示任何其他内容 为什么我不能选择 main 方法作为我的启动对象 我只想通过按 ctrl F7 来运行我的主方法 但这样做时什么也没有发生
  • IIS、Asp.NET 管道和并发性

    我想知道 Web 应用程序中的并发实际上是如何工作的 我读过几篇文章 据我了解 HttpApplication 的多个实例将同时工作 现在 我创建了一个简单的 Web 应用程序来测试并发性 并将以下内容放入 global asax prot
  • 汇编器:为什么存在BCD?

    我知道如果您不了解二进制 BCD 是更直观的数据类型 但我不知道为什么要使用这种编码 它好像没有多大意义 因为它浪费 以 4 位表示 当表示大于 9 时 另外我认为 x86 只支持直接添加和替换 您可以通过 FPU 转换它们 这有可能来自旧
  • 尝试使用 object_getIvar 检索值时 EXC_BAD_ACCESS

    我正在尝试学习如何利用 Objective C 运行时函数 我有一本字典 其中包含几个name value pairs E g recipe description Delicious and healthy recipe id 70423
  • 下降顺序和级联

    我想使用 CASCADE 在一个语句中删除表中使用的序列和表本身 但我收到通知 并且表没有被删除 例如 CREATE SEQUENCE seq1 CREATE TABLE t1 f1 INT NOT NULL DEFAULT nextval
  • C中设定间隔生成随机数

    我确实了解Python 并且在设定的时间间隔内创建随机数非常简单 但在C 中似乎有点复杂 这是我通过查看有关堆栈溢出的其他问题得到的结果 int diceroll 1 diceroll 1 rand 3 1 printf d n dicer