随机相关的函数

  头文件 stdlib.h

  相关函数 :rand 、srand

  rand( rand C++ Reference )

  函数声明:int rand( void );

  rand函数返回一个位于 0 - RAND_MAX之间的伪随机整数。其中RAND_MAX在头文件 stdlib.h 中定义( 一般为int类型可表示的最大正整数 )。

  rand函数通过一个特定的随机数生成算法生成伪随机数序列,该算法依据一个初始的种子值进行伪随机数生成。伪随机数生成可以看做一个特殊的处理过程,对于同一个输入(种子),输出的伪随机值序列总是相同的( 相对于一次程序运行 )。可使用函数 srand 设置伪随机数算法的种子,rand函数默认的种子值为1。

 

  srand( srand C++ Reference )

  函数声明: void srand( unsigned int seed);

  初始化伪随机序列生成器的种子值。srand函数将伪随机数生成算法的种子使用参数 seed 初始化,使得伪随机数生成依赖于不同的种子,避免重复。通过将种子值 seed 设置为不同的可区分的值(如程序运行时的时间),可以保证生成的伪随机序列较为随机。

  seed = 1时,即为伪随机序列生成算法的默认初始初始值。

  示例:

#include<stdio.h>
#include<stdlib.h>

#define num_of_loop 8                   /*循环次数*/   
void generate_random_num(void);         /*产生随机序列并输出*/

int main(void)
{
    generate_random_num();              /*使用默认的随机种子,即 1*/

    srand( 5 );                         /*使用 5 初始化随机种子*/
    generate_random_num();

    srand( 1 );                         /*使用 1 初始化随机种子*/
    generate_random_num();

    return 0;
}

void generate_random_num(void)
{
    int i;
    for( i = 0 ; i < num_of_loop ; i++)
     printf("%d\t",rand());

    printf("\n");
}                                                
rand示例

相关文章: