当前位置: 首页 > news >正文

srand()、rand()、time()函数的用法

srand()就是给rand()提供种子seed。

如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的。

以一个固定的数值作为种子是一个缺点。通常的做法是 :以这样一句srand((unsigned) time(NULL));来取代,这样将使得种子为一个不固定的数,这样产生的随机数就不会每次执行都一样了。详细用法如下:

 1 #include <iostream>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 using namespace std;
 5 int main()
 6 {
 7     /*Seed the random-number generator with current time 
 8     so that the numbers will be different every time we run.*/
 9     srand((unsigned)time(NULL));
10     
11     /* Display 10 numbers */
12     for(int i=0;i<10;i++)
13     {
14         cout<<rand()<<endl;
15     }
16     return 0;
17 }

 

rand(void)用于产生一个伪随机unsigned int 整数。 
srand(seed)用于给rand()函数设定种子。

srand 和 rand 应该组合使用。一般来说,srand 用于对 rand 进行设置。 
比如:

#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
    srand(time(0));
    /* Display 10 numbers */
    for(int i=0;i<10;i++)
    {
        cout<<rand()%100<<endl;
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/woaiheniunai/p/6035396.html

相关文章:

  • 更改pip源至国内镜像,显著提升下载速度(转载)
  • 如何用distinct消除重复记录的同时又能选取多个字段值?
  • JavaScript之继承(原型链)
  • 21、JavaScript加强
  • linux uart驱动——相关数据结构以及API(二)
  • 放课后的约定
  • Matlab Tricks(二十)—— Hilbert matrix 的创建
  • php面向对象
  • require.js与sea.js的区别
  • 11-13
  • Discuz! 6.x/7.x 全局变量防御绕过导致命令执行
  • 各类应用的简称
  • java的反射
  • Spring+AOP+Log4j 用注解的方式记录指定某个方法的日志
  • 使用Apache的Base64类实现Base64加解密
  • 【Leetcode】101. 对称二叉树
  • Google 是如何开发 Web 框架的
  • 【node学习】协程
  • es6
  • git 常用命令
  • JavaWeb(学习笔记二)
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Sequelize 中文文档 v4 - Getting started - 入门
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 什么是Javascript函数节流?
  • 微服务框架lagom
  • 用jQuery怎么做到前后端分离
  • 主流的CSS水平和垂直居中技术大全
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (BFS)hdoj2377-Bus Pass
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (接口封装)
  • (转)重识new
  • ../depcomp: line 571: exec: g++: not found
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net2005怎么读string形的xml,不是xml文件。
  • .net访问oracle数据库性能问题
  • .Net中间语言BeforeFieldInit
  • .net中生成excel后调整宽度
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [AIGC] Redis基础命令集详细介绍
  • [Android Studio] 开发Java 程序
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [HarmonyOS]第一课:从简单的页面开始