c++随机数怎样生成

2025-02-22 00:44:53
推荐回答(5个)
回答1:

主要是rand每次取的随机种子都是一样的!!!
利用srand((unsigned)time(NULL)) 可以将系统时间当作随机种子
因为他取的是系统时间 而时间又是在不断变化的!!!
固在调用rand()便可以得到不同的随机数!

用法:

#include
#include
#include

void main()
{
int nI = 0;
int nJ = 100;//随机数的最大值
int nCont = 0;//控制随机数的个数

srand(time(NULL)); //取系统时间为随机种子

while(1)
{
nI = rand()%nJ; //取随机数
printf("%d\n",nI);
nCont++;
if(nCont == 10)//取出10个随机数后程序结束
{
break;
}
}
}

回答2:

一.C++随机函数(VC program)
#include
#include
#include
using namespace std;
#define MAX 100
int main(int argc, char* argv[])
{ srand( (unsigned)time( NULL ) );
   for (int i=0;i<10;i++)
   cout<   return 0;
}
二、rand()的用法
int N = rand() % 11;
int N = 1 + rand() % 10;
  a + rand() % n

其中的a是起始值,n是整数的范围。

回答3:

两个头文件
#include
#include

使用例子:
int num;
srand(time(NULL));//这句相当是初始化随机,保证你每次运行取的数不一样
num=rand()%max;//表示取 0 - max(不包括max)之间的数

回答4:

我以前做过,现在记不清详细内容了,不过可以给你个提示,你可以利用系统时间,这个时间是非常随机的,取时分秒的随意加减乘除来组合,就可得到不同的随机数,而且不会像random似的每次运行都是一个样。
下面给一个参考的网址

回答5:

#include
#include

main(){
int num;
randomize();//随机模产生器
num=rand()%100+1;//产生1~99的随机数
printf("%d\n",num);
}