请问,如何在C或者C++里面,产生一个随机的[-1,1]之间的随机小数?

2025-02-25 05:43:42
推荐回答(4个)
回答1:

产生整数部分 ,后面是小数部分.rand()范围是0!32767,为了随机,只取后面四位。

#include
#include
#include
using namespace std;
void main()
{
float i,s(0);
srand((unsigned)time(NULL));
s+=rand()%3-1+(float)(rand()%1000)/10000.0;
cout<}
rand()%3-1

回答2:

#include
#include
#include
using namespace std;
void main()
{
float i,s(0);
srand((unsigned)time(NULL));
s+=rand()%3-1+(float)(rand()%1000)/10000.0;
cout<}
rand()%3-1产生整数部分 ,后面是小数部分.rand()范围是0!32767,为了随机,只取后面四位

回答3:

double(rand()%2000)/1000-1,这样就有小数尾数为三位的小数了,
而且是[-1,1]

回答4:

#include
#include
#include
以上3个头文件
int i;
i = random();
产生的是10以内的整数
如果你想要小数,那么可以修改成
i = random()/10;
产生的就是0.1-1.0的小数
剩下的你自己动脑筋想下吧
不多说了