C++中使用Rand()函数来产生“随机数”,实际上还要使用一个名为Srand()的函数产生种子,系统通过种子和随机数产生算法,生成不同的数字。当我们在使用Rand()没有调用Srand()时,系统会自动调用Srand(),种子相同时,产生的随机数相同。

为了能更好的产生随机数,我们通常使用系统时间作为随机数种子。

// srandTest.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include <iostream>   //输入输出用到的头文件
#include <time.h>     //time 用到的头文件
#include <Windows.h>  //Sleep 用到的头文件
using namespace std;void testRand(void); //函数原型
void testSrand(void);//函数原型
int _tmain(int argc, _TCHAR* argv[])
{cout << "*************testRand**************" << endl;testRand();cout << "\r\n*************testSrand**************" << endl;testSrand();cin.get();//捕获输入种子后的ENTER键cin.get();return 0;
}
void testRand()
{int cinNum, coutNum;for (int i = 0; i < 5; ++i){cout << "please enter a number as seed:" << endl;cin >> cinNum;srand(cinNum); //将输入的数字作为种子for (int i = 0; i < 5; ++i){coutNum = rand() % 100; //产生1-100以内的随机数cout << "random number:" << coutNum << endl;}}
}
void testSrand()
{int coutNum;for (int i = 0; i < 5; ++i){cout << "generate seed by system time" << endl;Sleep(1478); //设置程序休眠时长,若不设置,则由于计算机处理速度过快,系统时间相同,种子相同srand((unsigned)time(NULL));for (int i = 0; i < 5; ++i){coutNum = rand() % 100;cout << "random number:" << coutNum << endl;}}
}

结果如下

C++ 随机数,根据时间生成随机数,Srand 与Rand 产生随机数相关推荐

  1. java 生成不重复随机数_Java如何实现生成n个不重复的随机数 Java实现生成n个不重复的随机数代码...

    Java如何实现生成n个不重复的随机数?本篇文章小编给大家分享一下Java实现生成n个不重复的随机数代码,代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 需 ...

  2. linux 生成随机数 命令,Linux生成随机数的多种方法

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 通过内部系统变量 $RANDOM 如果超过 5 位可以加个固定 10 位整数,然后进行求余.生成 400000~5000 ...

  3. 随机数与随机序列生成

    随机数与随机序列生成 随机数的生成 · 通过rand()函数生成随机数 · 通过多个随机数拼接生成随机数 随机序列的生成 · 通过随机全排列生成随机序列 · 通过set集合去重生成随机序列 随机数的生 ...

  4. c语言随机生成5到10,C语言生成随机数

    两个步骤:设置种子和返回随机数值.所需头文件:stdlib.h.如果种子欲由时间生成,则还需time.h. 设置种子的函数:srand.用法:void srand ( unsigned int see ...

  5. php 随机数整数,php生成随机数有哪几种方法

    php生成随机数的方法非常简单,因为php内部为我们提供了现成的随机数方法.因此我们并不需要进行额外配置,只需要调用内部方法即可. php随机数函数如下: 一.rand函数 rand() 函数可以不加 ...

  6. php生成随机数方法,php生成随机数的3种方法

    php随机数主要是使用rand.mt_rand这2个函数.当然我们还可以自定义一切方法,比如设置字母a-z,或者取当前时间戳.下面我们就一起总结下吧! php rand() 函数 返回随机整数. 语法 ...

  7. php随机数、时间、字符串函数,正则,数组函数

    <?php //1.随机数和时间 //echo rand(); //随机数生成器 //echo rand(0,10); //生成某个范围内的随机数 //echo time(); //取当前时间戳 ...

  8. php随机数字不重复使等式成立_php随机数不重复生成的五种方式

    在前一篇文章中我介绍了php随机数的生成方法,我们都知道php随机数不管是在开发中,还是在移动应用中,都是不可少的一部分,平时日常开发中经常会跟php随机数打交道,那么今天就给大家介绍php随机数不重 ...

  9. matlab逆变换法产生随机数_信号处理——生成给定分布随机数

    作者:桂. 时间:2017-03-12  19:31:55 前言 本文是曲线拟合与分布拟合一文的插曲,进行分布拟合时,碰到一个问题是,如何指定分布的随机数呢?本文主要包括: 1)连续型随机数: 2)离 ...

最新文章

  1. 用链表生成前序二叉树
  2. android获取时区时间格式,考虑时区的日期/时间转换-Android
  3. java中的int、Integer 和 new Integer()的区分和比较
  4. libtorch Tensor cannot be used as a tuple
  5. AJAX 在Django 设置csrf_token
  6. Asp.net 三层架构搭建示例一
  7. java 多线程集合操作_多线程中使用Java集合类
  8. c# TCP Socket通讯基础
  9. php爬虫:知乎用户数据爬取和分析
  10. 集卡php源码,独角数卡自动发卡网PHP源码+教程:虚拟产品自助售卖
  11. STM32——GPIO(1)
  12. php 将颜色透明度,css中如何使颜色透明度
  13. LeetCode 563. Binary Tree Tilt
  14. linux进程和线程理解
  15. 源文件py编译为pyc文件
  16. android电视盒刷机工具,android电视盒如何刷机
  17. U产品快报 | UK8S支持K8S 1.18版本、URTC新版Webdemo上线等重要更新
  18. 善领dsa2020最新车机ce版_内功实力再精进 试驾上汽大通V80 PLUS城市版
  19. php实现飘窗,装配式飘窗的制作方法
  20. 科普 | 一片晶圆可以生产多少芯片?

热门文章

  1. 三维空间刚体运动1:旋转矩阵与变换矩阵(详解加代码示例)
  2. 计算机类公务员 真题解析,公务员考试C类计算机考试真题及答案2[文].pdf
  3. 坑爹的卓越亚马逊盗版网上书店
  4. 基于matlab的雷达,基于Matlab的雷达系统仿真
  5. 兴趣标签体系告诉我,闲鱼的95后是这样的...
  6. 多路海康网络摄像头数据实时回调(采用软解码方式)
  7. 基于VS2010MFC平台使用C++编写的上位机源程序(可在虚拟机下实现两个com端口的数据传输)
  8. DLL与MFC DLL
  9. 如何快速查看你的笔记本电池健康报告
  10. Android与Linux分道扬镳