rand()和srand()

news/2024/11/26 6:04:07/

前提概要

      rand()用于生成随机数,但不是生成真正的随机数

      srand()用于设置供rand()使用的随机数种子

           提示

                 第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand(),自动调用传参值为1

                使用相同种子(srand函数传参值相同),调用 rand()生成的是相同随机数序列

函数原型

         int rand(void);

         void srand(unsigned seed);

               参数说明

                     seed:srand()的种子,用于初始化srand()的起始值

引入问题

      问题描述:srand函数传参固定会导致生成的随机数是相同随机数序列

      解决办法:通常用srand((unsigned)time(0))或srand((unsigned)time(NULL))来产生种子

               提示

                       如果觉得时间间隔太小,可在(unsigned)time(0)或(unsigned)time(NULL)后面乘上合适整数

                                 例:srand((unsigned)time(NULL)*10)

                      time_t time(0)

                             time_t:是重命名的长整型

                            函数返回值:从1970年1月1日零时零分零秒到目前为止所经过的时间,单位为秒

参考例程

#include<time.h>

#include<stdlib.h>

#include<stdio.h>

int main(int argc,char **argv){

    int i,j;

    srand((int)time(0));// 这里传参不固定即可实现产生不同的随机数序列

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

       j=1+(int)(10.0*rand()/(RAND_MAX+1.0));

       printf("%d",j);

    }

}

总结

    srand()函数传参值,对应一个固定的随机数序列,通过改变srand的传参值实现产生不同随机数序列

        例

           srand(1) 对应一个固定随机数序列,srand(2)对应另外一个随机数序列


http://www.ppmy.cn/news/790719.html

相关文章

关于srand(time(0))的解释

标准库定义了一组随机数引擎类和适配器&#xff0c;使用不同数学方法生成伪随机数。标准库还定义了一组分布模板&#xff0c;根据不同的概率生成随机数。引擎和分布类型的名字都与它们的数学性质是相对应的。 但是我们今天就接触一点点最基础的知识。 计算机没有办法产生真正的…

srand和rand详细讲解

srand 使用srand引用头文件#include<stdlib.h> 在rand调用之前设置srand&#xff0c;若不设置当rand调用时随机数种子默认为1&#xff0c;随机数种子一样则每次打印出来的值也是一样的。 设置srand srand( (unsigned int )time(NULL) ) 如上所示&#xff0c;我们给一个持…

NTN(五) C-DRX

欢迎关注同名微信公众号“modem协议笔记”。 这篇针对R17 版本的协议&#xff0c;看下有关NTN场景的CDRX内容&#xff0c;整体内容没有太大变化&#xff0c;但是由于NTN的大延迟问题&#xff0c;有引入某些参数去控制HARQ 的enable/disable&#xff1b;同样的因为时延问题&…

SRDenseNet

方法作用效果将密集连接引入超分领域将每一层的特征都传递到后面的所有层,可以有效的组合浅层特征和深层特征,提高重建性能。而且密集连接可以在输出和每一层之间构建短路径,缓解了梯度消失现象很好代码: wxywhu/SRDenseNet-pytorch: SRDenseNet-pytorch(ICCV_2017) (git…

SRCNN

1. introduction 考虑了一个卷积神经网络&#xff0c;它可以直接学习低分辨率和高分辨率图像之间的端到端映射。我们的方法与现有的基于外部实例的外部方法有根本的不同&#xff0c;因为我们的方法没有明确地学习字典[41]、[49]、[50]或流形[2]、[4]。这些都是通过隐藏层隐式地…

2021-11-11SR-DRN

闭环问题&#xff1a;单张图像超分辨的对偶回归网络&#xff08;DRN) SR主要是要学习LR和HR之间的某种映射来重建相应的HR图像。 一、SISR存在的两个潜在的问题&#xff1a; 1.学习从LR到HR的映射是一个病态的逆问题。一张LR图像可以对应多张HR图像&#xff0c;也就是说存在…

MAC电脑查看SHA256方式

背景 现在很多网站下载大文件时&#xff0c;以往通过查看文件大小来确定是否下载正确&#xff0c;但是很多情况下&#xff0c;文件下载后大小差不多&#xff0c;但是很多时候却时候出现无法安装的问题&#xff0c;有可能还是下载的文件出现错误&#xff0c;导致文件无法正常使…

springcloud eureka增加安全认证

网上很多资料写的不全&#xff0c;不细致。 springcloud架构&#xff0c;本地运行代码是eureka地址一般为localhost:port&#xff08;自己暴露的端口&#xff09;&#xff0c;例如http://localhost:9000/ &#xff0c;但是如果在服务器&#xff0c;且使用k8s部署&#xff0c;一…