请教随即函数
一直想了解C++中的随即函数 请大家能不能帮我写个简单的小程序用MAIN就行了 具体点就是随即产生几个数就可以了 很容易的 希望各位高手指点指点小弟了 谢谢大家了
#include <iostream>
#include <time.h>
using namespace std;
#define MAX 100
int main(int argc, char* argv[])
{
srand( (unsigned)time( NULL ) ); //srand()函数产生一个以当前时间开始的随机种子
for (int i=0;i<10;i++)
cout<<rand()%MAX<<endl; //MAX为最大值,其随机域为0~MAX-1
return 0;
}
如果需要产生n到m范围内的随机整数,可以:
int ans=rand()*(m-n)/RAND_MAX+n;
通常rand()产生的随机数在每次运行的时候都是与上一次相同的,这是有意这样设计的,是为了便于程序的调试。若要产生每次不同的随机数,可以使用srand( seed )函数进行随机化,随着seed的不同,就能够产生不同的随机数。
如大家所说,还可以包含time.h头文件,然后使用srand( time(0))来使用当前时间使随机数发生器随机化,这样就可以保证每两次运行时可以得到不同的随机数序列(只要两次运行的间隔超过1秒)。
[此贴子已经被作者于2006-5-7 17:44:54编辑过]