• C 中随机数


    C语言,如何产生随机数:

    1. 基本函数

    在C中取随机数所需要对函数是:

    int rand ( void );

    void srand ( unsigned int n);

    备注:必须包含该头文件#include <stdlib.h>

    1. 使用方法

    rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大

    srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。

    (1)                                              (2)

    int i;                                            int i;

    for(i=0;i<10;i++)                                                       srand(1);

    printf(“%d ”,rand()%10);                           for(i=0;i<10;i++)

    运行结果:1 7 4 0 9 4 8 8 2 4                       printf(“%d ”,rand()%10);

                                                                                        运行结果:同(1)

    (3)                                       (2)

    int i;                                                                             int i;

    srand (5)                                                                       srand((unsigned)time(NULL));

    for(i=0;i<10;i++)                                                        for(i=0;i<10;i++)

    printf(“%d ”,rand()%10);                           printf(“%d ”,rand()%10);

    运行结果:4 3 5 9 0 0 7 9 2 0                       运行结果:

    该程序每次运行结果都不一样,因为每次启动程序的时间都不同。另外需要注意的是,使用time()函数前必须包含头文件time.h。

    注意事项:

    求一定范围内对随机数;

    如果去[0,10)之间对随机整数,需将rand()的返回值与10求模。

    若是求[a,b),则使用:

    (rand()%(b-a))+a;

  • 相关阅读:
    类加载机制与jdk智能调优命令
    初认Redis
    Spring-Cloud组件eureka
    SpringBoot入门知识
    SpringCloud
    java内存模型
    Redis
    Vue
    Nginx
    Linux系统
  • 原文地址:https://www.cnblogs.com/wangliangliang/p/3196937.html
Copyright © 2020-2023  润新知