c++中的伪随机函数怎么用

书上写int rand(void)和void srand(unsigned seed)
举了rand ( )%100的例子,不过还是不懂怎么用

比如我想随机一个1~100的数字,但是每次随机都不一样,要怎么写
网上都说用void srand(unsigned seed),但我不知道它放在哪
我初学c++,看不懂太深的语句,只希望大家能用一个简单的例子帮我下,谢谢

#include <stdlib.h>
#include <stdio.h>
#include <time.h> //使用当前时钟做种子

void main( void )
{
int i;
srand(time( NULL ) ); //初始化随机数
for( i = 0; i < 10;i++ ) //打印出10个随机数
printf( " %d\n", rand()%100 );
}
和上楼差不多哈。。。追问

这个好像是C语言哎。。。。
#include
#include 所以不知道这两句话什么意思。。。
%d\n这个又是。。。什么。。。

追答

我的神啊!你把stdio换成iostream,再把输出语句换一下不就行了

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-12
#include <ctime>
int main()
{
time_t tm;
ctime(&tm); //获取当前时间距离1970年的秒数
srand(tm); //将获取的秒数作为随机种子
int a=rand()%100;
return 0;
}追问

为什么结果都是50啊。。。。每次都一样额

c++中的伪随机函数怎么用
include <stdio.h> include \/\/使用当前时钟做种子 void main( void ){ int i;srand(time( NULL ) ); \/\/初始化随机数 for( i = 0; i < 10;i++ ) \/\/打印出10个随机数 printf( " %d\\n", rand()%100 );} 和上楼差不多哈。。。

C++ CryptGenRandom()函数的使用
先用线性同余发产生伪随机数 x = (a * x + b) % m;a, b, m要足够大,并且要互质,这样随机数分布的就比较均匀。但线性同余法产生的伪随机数通过比较几次产生的数据来推测出a, b和m,显然这很不安全 如果我们对线性同余法产生的伪随机数进行加密,就推测不出来x0,a, b和m了。这样就是...

C++中srand()的作用是什么
srand 是产生伪随机数的函数,只要给定一个种子seed就会产生一组随机数。

伪随机数程序实例
程序首先在主函数main()中调用random_start(),这个函数中的关键部分是movedata(),它从内存地址0x0040:006CH处获取数据并放入temp数组,用于初始化伪随机数种子RAND_SEED。该地址通常存储的是系统时钟,如Intel 8253定时\/计数器的值,它会根据时钟周期更新。random()函数根据RAND_SEED的值计算随机数,其...

srand()在C++中怎么用?
srand()是产生一个随机数种子,也就是说rand()输出要依靠你srand()里面的parameter,伪随机数还不是用一种算法来产生的撒!不是真正的随机数,所以说srand()里面的参数的数值一样,rand()的返回值就不会变!example one:int wRand;srand(1);\/\/只要里面的参数不变,wRand就不会变 wRand = ran...

c++中srand(unsign)给其一个种子数,然后令x=rand(),是不是x无论运行...
srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用...

c++ mfc rand 函数
①先说明一下rand,这个函数用来产生伪随机数。比如,产生1000的两个随机数,产生的两个一般上是不同的,但如果要产生80个100以内的随机数,仅用rand函数就不够。因为产生80个100以内的随机数,至少有两个数相等的概率太大了。②srand函数,并不能使产生的随机数完全不同。你可以执行以下这串代码。i...

怎么用C++编写一个rand()函数,功能上是产生10个0-100之间的随机整数
需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:for (int i = 0; i < 10; i++)printf("%d ", rand() % 100 +1);3、编译器运行test.cpp文件,此时成功通过rand产生了10个1-100内的...

【C\/C++】 srand(time(0)); 有什么作用
因为电脑取随机数是伪随机,只要种子一样,则取出来的数一定一样。这里用time(0)这个内函数,则是返回了当前的时间值。这个值是按照时间而变化的,所以,srand(unsigned(time(NULL)))这个函数的作用,就是一个简单的设定随机数的种子方法。通过这个函数,可以得到每次都不容一样的随机数。

什么是伪随机数?
这里用户和其他程序没有设定随机种子,则使用系统定时\/计数器的值做为随机种子,所以,在相同的平台环境下,编译生成exe后,每次运行它,显示的随机数会是伪随机数,即每次运行显示的结果会有不同。 3.建议:如果想在一个程序中生成随机数序列,需要至多在生成随机数之前设置一次随机种子。 看下面这个用来生成一个随机字符...

相似回答