C++随机数产生器.doc

上传人:11****ws 文档编号:3179285 上传时间:2019-05-24 格式:DOC 页数:3 大小:40KB
下载 相关 举报
C++随机数产生器.doc_第1页
第1页 / 共3页
C++随机数产生器.doc_第2页
第2页 / 共3页
C++随机数产生器.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 随机数产生器在标准库中,提供了 rand 函数(函数原型见) ,用来产生 0 到 RAND_MAX之间的整数(这是 头文件中定义的符号常量) 。RAND_MAX 的值至少应为32767,也就是两个字节(16 位)所能表示的最大整数值。使用: int i=rand();rand 函数产生的数值范围可能与特定应用中的数值范围不同。例如,模拟掷硬币的程序只要 0(正面)和 1(反面) ,模拟投骰子的程序只要 1 到 6 之间的随机整数。可以使用求模运算符(%)和 rand 函数解决:rand()%2; /产生 0 和 1 整数rand()%6; /产生 0 到 5 之间的整数称为比例缩放。数字 2

2、 和数字 6 称为比例因子,然后将所产生的数值范围加 1,即可得到所要结果。总结:1) 由 rand 函数直接产生的值总是取值为:0rand( )RAND_MAX2) 用一个语句模拟投骰子如下:face=1+rand( ) %6;总是对变量 face 指定 1face6 的整数(随机) 。3) 将 2)一般化:n=a+rand( ) % b;其中:a 是位移值(等于所要的连续数范围的开始值) ,b 是比例因子(即由连续整数构成的该范围的宽度。例:#include #include void main()for(int i=1;i) 。void srand(unsigned int seed);

3、为 rand 函数提供随机种子(参数 seed 便是种子) ,就可以在每次执行程序时产生不同的随机数系列。例:#include #include using namespace std;int main()unsigned seed;coutseed;srand(seed);for(int i=1;i(c+标准 ctime)中。例:#include #include using namespace std;int main()srand(time(0);for(int i=1;i#include #include #includeusing namespace std;void select_

4、sort(int array,int n);int main()int i;char *t1,*t2;int a100000;time_t tt1,tt2;srand(time(0); /使计算机通过时钟值自动取得种子值, time(0)或 time(NULL)均可/tt1=time(0);t1=ctime( /ctime 完成将以秒计的时间转换为日期时间字符串for(i=0;i100000;i+)ai=rand()%100+100;coutait;tt1=time(NULL); /排序开始前计时select_sort(a,100000);tt2=time(NULL); /排序结束计时/t2=ctime(double d=difftime(tt2,tt1); /时差couttt2ttt1tdendl;return 0;void select_sort(int array,int n) int i,j,k,t;for(i=0;in-1;i+)k=i;for(j=i+1;jn;j+) if(arrayjarrayk) k=j;t=arrayk;arrayk=arrayi;arrayi=t;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。