C++的随机数

来源:百度知道 编辑:UC知道 时间:2024/05/18 20:47:26
#include<iostream>
#include<time.h>
using namespace std;
#define MAX 0x7fff

int main()
{
int i;
int a[10];

srand(time(0));
for(i=1;i<5;i++)
a[i]=(int)(10*rand())/(MAX+1);

for(i=1;i<5;i++)
cout<<a[i]<<" ";
system("pause");
return 0;
}

我写的猜数字中的一段
但是这样它生成的随机数第一个都是不变的
这个是为什么
怎么修改

不用说生成5个用后四个
这个我能想到的
别的方法有没有啊
我用的是DEV C++的编译器 1楼的那个randomize没用
二楼的我说了不要这样的答案,治标不治本,我想知道为什么
3楼1层的不能使啊
4楼的还是第一个数不变
5楼的你先看看我程序在发言,我用了srand(time(0)); 了,这个是用电脑时间做随机种子,种子是不一样的

求求各位
说个正确答案吧

从MSDN中看!
那里有的。

111010000000 - 江湖豪侠 十级 1-6 13:05
这个最佳

srand((unsigned)time(NULL));
也可以.

实际上电脑产生的随机数字都是从一个公式里面产生出来的,既然有公式那么就不是真正的随机数字,只是伪随机数字