rand()随机生成数据问题
本帖最后由 u012797295 于 2013-11-22 21:27:15 编辑 #include <iostream.h>
#include <time.h>
#include <stdlib.h>
void main()
{
int i,n,
double data[101];
cin>>n;
srand(time(NULL));
for(i=1;i<n+1;i++)
*(data+i)=28+rand()%10/4.0; //随机生成数据,定义data数组为double类型,
//为什么生成的全是整数呢?
//把4.0改为4,有什么不同吗?怎么才能生成小数?
for(i=1;i<n+1;i++)
cout<<data[i]<<" ";
cout<<endl<<endl;
}
[解决办法]
rand函数返回的是整型,要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。