C random C ++rand函数应用
random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)能够这样使用,它返回的是0至num-1的一个随机数。
可改用C++下的rand函数来实现。
rand()%n 范围 0~n-1
rand()主要是实现 产生随机数,其它我们在这里能够无视他
显然随意 一个数 rand()%n 范围显然是 0~n-1;
那么 怎样产生 n~m的数呢? 一样的 我们仅仅要对rand()进行一些 符号操作即可了;
n+rand()%(m-n+1); 这样就能够了
这样我们 就仅仅有 种子 和 浮点数的没有分析了,
以下来说rand()的使用方法 ,浮点数的放在最后面讲 :一般在用这个之前 都要 初始化 一个种子 ,可是 你不写的话,系统会给你 一个默认的种子,以下是我们自己输入种子的代码;
int seed; scanf ("%d",&seed); srand(seed); cout<<rand()<<endl;
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int arr[15];
//srand(time(NULL));
int seed;
while(1){
scanf("%d",&seed);
srand(seed);
for (int i=0; i<15; i++)
printf ("%d\t",rand()%10);
printf ("\n");
}
return 0;
}
经过下图的比較发现,每个种子都是保持着这个状态的随机变量值,会存在系统里面;
因此,我们要对这个初始化种子 保持着 时刻不同;也就是说 我们还是用 srand(time(NULL));比較好
用例如以下代码比較合适:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
//int arr[15];
srand(time(NULL));
for (int i=0; i<15; i++)
printf ("%d\t",rand()%10);
printf ("\n");
while (1);
return 0;
}
好了,我们如今讲下最后一点---------浮点数的随机产生
rand()%n =========== 0~n-1 那么 我们再除以 n 即可了
能够表示为: (rand()%n)/(n*1.0) //这里注意下 隐式转换 低------>高
以下给出一个范例:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int arr[15];
//srand(time(NULL));
int seed;
while(1){
scanf("%d",&seed);
srand(seed);
for (int i=0; i<15; i++)
printf ("%lf\t",(rand()%10)/10.0);
printf ("\n");
}
return 0;
}
假设要 更精确呢?像0.11 这种呢??? 道理是一样的
我们能够输出 (rand()%n)/(n*1.0)+(rand()%n)/(n*10.0);
由此我们能够总结出规律:p 表示精确位数
{ p }
1.......1*(rand()%n)/10^p
C random C ++rand函数应用的更多相关文章
- 统计学习方法 | 第1章 统计学习方法概论 | np.random.rand()函数
np.random.rand()函数 语法: np.random.rand(d0,d1,d2……dn) 注:使用方法与np.random.randn()函数相同 作用: 通过本函数可以返回一个或一组服 ...
- RAND函数和SRAND函数
首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明. rand(产生随机数) 表头文件: #include<stdlib.h&g ...
- C语言中生产随机数 rand()函数
参考资料:C语言中产生随机数 一:如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间.RAND_MAX定义在stdl ...
- 关于rand()函数 转载于其他人
C++中的rand()函数 分类: 编程语言/ C#/ 文章 C++中产生随机数种子对于初学者一直都很困惑.大家知道,在C中有专门的srand(N)函数可以轻松实现这一功能,然而在C++中则要复杂一些 ...
- np.random的随机数函数
np.random的随机数函数(1) 函数 说明 rand(d0,d1,..,dn) 根据d0‐dn创建随机数数组,浮点数, [0,1),均匀分布 randn(d0,d1,..,dn) 根据d0‐dn ...
- Java中的Random()函数-----转载
Java中的Random()函数 (2013-01-24 21:01:04) 转载▼ 标签: java random 随机函数 杂谈 分类: Java 今天在做Java练习的时候注意到了Java里面的 ...
- sql server 生成随机数 rand函数
https://docs.microsoft.com/en-us/sql/t-sql/functions/rand-transact-sql?view=sql-server-2017 在某一个区间内生 ...
- C語言 rand函数 进阶探讨与实现
C语言中随机函数应用 可能大家都知道C语言中的随机函数random,但是random函数并非ANSI C标准,所以说.random函数不能在gcc,vc等编译器下编译通过. 那么怎么实现 ...
- C++ 制作一个“测运”小游戏-rand()函数的应用
游戏说明: 游戏名:Lucky Guy 玩法说明:有2种模式可以选择,一种是一直选择数字,直到抽到炸弹为止.另一种是在0~9个数字中进行选择,有5个炸弹,最高分为5,抽到炸弹即游戏结束.游戏结束后,可 ...
随机推荐
- Android 开源框架Universal-Image-Loader全然解析(二)--- 图片缓存策略具体解释
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/26810303),请尊重他人的辛勤劳动成果,谢谢! 本篇文章 ...
- Kafka - SQL 引擎
Kafka - SQL 引擎分享 1.概述 大多数情况下,我们使用 Kafka 只是作为消息处理.在有些情况下,我们需要多次读取 Kafka 集群中的数据.当然,我们可以通过调用 Kafka 的 AP ...
- 关于Opencv2.4.x中stitcher类的简单应用
1.opencv2.4以上版本有stitcher类,可以简单方便的实现图像的拼接,目前只是简单的测试一下stitcher类的拼接功能,也是纠结了好长时间,最终发现是要在链接库中加上opencv_sti ...
- Smarty模板引擎的使用
Smarty模板引擎的使用 Smarty是PHP中一个基于MVC模式的模板引擎. Download: http://www.smarty.net/download 特点 1. 最快速度的程序开发 ...
- Linux 命令学习之dpkg命令详解
dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...
- 《JavaScript设计模式与开发实践》读书笔记之模板方法模式
1. 模板方法模式 1.1 面向对象方式实现模板方法模式 以泡茶和泡咖啡为例,可以整理为下面四步 把水煮沸 用沸水冲泡饮料 把饮料倒进杯子 加调料 首先创建一个抽象父类来表示泡一杯饮料 var Bev ...
- Go by Example
Go by Example Go is an open source programming language designed for building simple, fast, and reli ...
- Xamarin:制作并发布apk
原文:Xamarin:制作并发布apk 终于到了激动人心的时刻:要向真机发布apk了.流程如下: 1 制作release版的android应用安装包apk文件: 1.1 用VS2012中文版制作:记得 ...
- .net读取异步Post的内容
//读取微信Post过来的XML内容 byte[] input = HttpContext.Current.Request.BinaryRead(HttpContext ...
- Objective-C路成魔【18-复制对象】
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 将一个变量 ...