coder_B
2015-04-29 09:20
采纳率: 19.2%
浏览 4.2k

c++如何生成4-8之间的随机浮点数

在网上查阅资料随机生成的浮点数都是以0~1之间的浮点数,但是如何生成任意两数之间的随机数呢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • blownewbee 2015-04-29 09:24
    已采纳

    很简单,产生一个0~1的随机数
    x4是不是0~4之间了
    +4
    是不是4~8之间了?

    点赞 打赏 评论
  • bdmh 2015-04-29 09:22
    点赞 打赏 评论
  • 91program 2015-04-29 09:23

    生成随机数的函数只有一个,你可以将生成的随机数先取模(对5),得到的随机数是:0,1,2,3,4;然后再加上 4 就是你想要的结果。

    点赞 打赏 评论
  • 纵横车 2015-04-29 09:24

    把0~1之间的随机浮点数乘4,得到0~4之间的随机数,再加上4,得到4~8之间的随机数。

    点赞 打赏 评论
  • 不悔将来 2015-04-29 09:36

    random(4,8),不明白的可以加群【248716722】

    点赞 打赏 评论
  • 大脑瓢 2015-04-29 11:01

    void CGenerateRandDlg::OnGenerate()
    {
    // TODO: Add your control notification handler code herein
    UpdateData(true);
    if(m_Min>=m_Max)
    {
    AfxMessageBox("最大值、最小值设置错误!");
    return;
    }
    srand((unsigned)time(NULL)); //随机数计时开始
    m_Rand1=GetRand(m_Min,m_Max);
    m_Rand2=GetRand(m_Min,m_Max);
    m_Rand3=GetRand(m_Min,m_Max);
    m_Rand4=GetRand(m_Min,m_Max);
    UpdateData(false);
    }

    double CGenerateRandDlg::GetRand(double MIN, double MAX)//产生随机数
    {
    double max;
    max=RAND_MAX;//rand()函数随机数的最大值
    return (double)(rand()*(MAX-MIN)/max+MIN);
    }

    点赞 打赏 评论

相关推荐 更多相似问题