- 论坛徽章:
- 0
|
今天刚学随机数,指导怎么随机生成整数,但很好奇如何生成浮点数,但书上没写,就想了个简单方法,如代码:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
void sort(int [],int);
void main()
{
int a[100],b[100];
float c[100];
srand(time(0));
for(int i=0;i<100;i++)
{a[i]=rand()%100;
cout<<a[i]<<" ";
b[i]=rand()%100;
cout<<b[i]<<endl;
c[i]=(float)(a[i]/b[i]);
cout<<c[i]<<endl;
}
}
编译可以通过,但运行就弹出错误框,这是为什么呢?
于是稍作修改,变成下面:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
void sort(int [],int);
void main()
{
int a[100],b[100];
float c[100];
srand(time(0));
for(int i=0;i<100;i++)
{a[i]=rand()%100;
cout<<a[i]<<" ";
b[i]=rand()%100;
cout<<b[i]<<endl;
}
c[i]=(float)(a[i]/b[i]);
for(i=0;i<100;i++)
cout<<c[i]<<endl;
}
用着次没错误显示,但c[i]显示的数值全部一样,我用另一个编译器(c++程序学习系统)却能完成我的目标,这是为什么呢?
如果有更简单的随机浮点数的方法,请赐教! |
|