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,抽到炸弹即游戏结束.游戏结束后,可 ...
随机推荐
- 最牛B的编程套路
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反,单纯地每天埋头于工 ...
- SWT中一些细节的说明
1.shell.pack();函数的效果是将程序打包,使其以合适的大小显示出来,不会太大有很多多余空间,也不会太小导致有些控件无法显示. 2. while(!shell.isDisposed()){ ...
- Extjs4.0.7 实现Grid的嵌套
网上相关资料非常少,我看过的大多是Extjs 3.0 急以前版本的解决方案. 比如:http://mikhailstadnik.com/ext/examples/nested-grid.htm (E ...
- Allegro绘制PCB流程
单位换算 1mil = 0.0254 mm 1mm = 39.3701 mil 默认情况下我们更倾向于使用mil单位绘制PCB板. 1 新建工程,File --> New... --> [ ...
- 【LaTeX排版】LaTeX论文排版<三>
A picture is worth a thousand words(一图胜千言).图在论文中的重要性不言而喻,本文主要解说图的制作与插入. 1.图像的插入 图像能够分为两大类:位图和向量图 ...
- codeforces55D数位dp
codeforces55D 查询给定区间内的beautiful number. 一个数字是beautiful number当且仅当能被自己的各个数字不为0的位整除. 这个dp的状态还是挺难想的.一个 ...
- Xamarin For Visual Studio 3.7.165 完整离线破解版
原文 Xamarin For Visual Studio 3.7.165 完整离线破解版 Xamarin For Visual Studio就是原本的Xamarin For Android 以及 Xa ...
- Android中目的地Intent的使用
一.什么是Intent? Intent的中文意思是目的.在Android中也是“目的”的意思.就是我们要去哪里,从这个activity要前往另一个Activity就需要用到Intent. 示例代码一: ...
- linux下多进程的调试
linux下多进程的调试: (1)follow-fork-mode set follow-fork-mode [parent | child] ---- fork之后选择调试父进 ...
- Android开发工具综述,开发人员必备工具
安卓开发工具汇总.开发者必备.安卓开发过程中须要用到各种工具,作为一名安卓开发者,有木有感到亚历山大,那么多工具! 今天给大家汇总了一下安卓开发工具,安卓开发者必备利器. 1.Draw 9-Patch ...