如何生成范围内的随机数(-x,x) [英] How to generate random number within range (-x,x)

查看:183
本文介绍了如何生成范围内的随机数(-x,x)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi
可以使用rand()在一个范围(-x,x)内生成随机数。

Hi It is possible to generate random number within a range (-x,x) using rand()?? If not, how can I generate random number withing that range ?

推荐答案

// return a random number between 0 and limit inclusive.
int rand_lim(int limit) {

    int divisor = RAND_MAX/(limit+1);
    int retval;

    do { 
        retval = rand() / divisor;
    } while (retval > limit);

    return retval;
}

// Return a random number between lower and upper inclusive.
int rand_lim(int lower, int upper) {
    int range = abs(upper-lower);

    return rand_lim(range) + lower;
}

像往常一样,至少产生轻微的扭曲结果。

As usual, all the others I've seen in this thread can/will produce at least slightly skewed results.

这篇关于如何生成范围内的随机数(-x,x)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆