我试图编写一个程序来随机生成[-2,2]之间的数字(项x)。然后我想使用while循环更新术语。
我知道如何使用drand48()和stand(),但我知道我不能使用drand48(),因为它只计算0到1之间的数字。
我只用了大约一个月的时间来使用C所以我仍然很困惑这一切。谢谢!
如果你调用drand48()
,你得到范围[0.0,1.0)。
(这是一个半开的间隔,因为drand不会返回1.0,只有非常接近1的东西。)
如果将返回值drand48()
乘以4,则得到范围[0.0,4.0)。
如果从4*drand48()
中减去2,则得到范围[-2.0,2.0)。
所以,因此:
4*drand48() - 2
PS:我假设您正在尝试生成实数,而不是整数。如果您要获取整数,请使用@WeatherVane发布的rand()
解决方案。