rand srand
题外:先定义一个指针变量int *a; 再将整数b的地址赋给指针变量 a=&b ; 谨记指针变量a只是地址 *a相当于整数
之后*a 就可以表示 指向b了
也可以在定义的时候初始化 int *a=&b;
int q=2;
_p=&q; 此时*_p 和q 都为2
*_p=1;因为*_p是指向存储q的地址的 所以*_p的值发生改变q也改变
rand()产生一个0~32767之间的伪随机数。而srand(unsigned t)是为rand()产生伪随机数下一个“种子”。
所谓“种子”就是给伪随机发生器赋一个初值,因为如果初值一样,后面产生的伪随机数的规律也就一样,达不到“随机”的目的。
(因为后面的数是通过递推得到)所以srand(unsigned t)一般是用机中的实时时间来启动的,
因为实时时间的值每时每刻都在变化,这样启动的rand()函数产生的伪随机数序列就能达到以假乱真的效果
#include "stdio.h"
#include <stdlib.h>
#include "windows.h"
#include <conio.h>
#define RAND_MAX 0x7fff///这个是bcc55中的定义,说明这个整数的最大数是0x7fffu,u代表unicode编码,0x代表16进制 7FFF=15*16^0+15*16^1+15*16^2+7*16^3=32767
int main()
{ int m=60,n=10,ans=0;
srand((unsigned)GetCurrentTime();// //加了这个才正直随机, 头文件是windows.h
for(int i=0;i<10;i++)
{
printf(" %4d",rand()*(m-n)/RAND_MAX+n);//n<=x<m的数字
}
getch();
}
#include <stdio.h>
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
#define MAX 10 //定义了最大值
int main()
{
srand( (unsigned)time(NULL ) );//srand()函数产生一个以当前时间开始的随机种子.应该放在for等循环语句前面 不然要很长时间等待
for(int i=0;i<10;i++)
cout<<rand()%MAX<<endl;//MAX为最大值,其随机域为0~MAX-1 其中的一种输出方式
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand(1);///另一种方式,srand( (unsigned)time( NULL ) );//srand()函数产生一个以当前时间开始的随机种子.应该放在for等循环语句前面 不然要很长时间等待
for(int i=0;i<10;i++){
int ran_num=rand() % 6;
printf("%d",ran_num);
}
}
rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始
函数srand(),可以指定不同的数(无符号整数变元)为种子。但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子,但是仍然不理想。
rand srand的更多相关文章
- C++随机数rand(), srand()
c++产生随机数会用到rand(), srand()函数,下面总结两个函数特性和使用. 1. rand() #include <iostream> #include <cstdlib ...
- 【转】随机函数 rand() srand() 以及seed的原理
from:http://blog.csdn.net/feige2008/article/details/6943885 标准库<cstdlib>(被包含于<iostream> ...
- C/C++中产生随机数(rand,srand用法)
计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535 ...
- 数据结构及算法篇bsearch crypt lfind lsearch qsort rand srand
crypt(将密码或数据编码) 相关函数 getpass 表头文件 #define _XOPEN_SOURCE #include<unistd.h> 定义函数 char * crypt ( ...
- 随机数的生成 - rand(), srand()
2017-08-20 17:43:29 writer:pprp 我们采用随机数可以对我们的算法进行大数据检验 /* name : 简单的随机数生成算法 writer : pprp declare : ...
- c++ rand && srand 函数
RAND: 结构:rand() 注:rand()不需要参数,它会根据种子返回一个从0到最大随机数的任意整数. 作用:生成一个随机数. 头文件:#include <cstdlib> ...
- C++产生随机数
随机数 计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是6 ...
- Servlet程序中玩验证码
验证码思想:所谓验证码就是产生若干随机数,存放到session中,然后在servlet中获取session中的该值与页面输入值相比较,进而判断正误. 产生验证码的方法: 随机数放在图片中,封装为一 ...
- ios 常用数学函数
需要 引入头文件 #import <math.h> 1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan ...
随机推荐
- printf 格式化输出符号详细说明(转)
%a 浮点数.十六进制数字和p-记数法(C99)%A 浮点数.十六进制数字和p-记法(C99)%c 一个字符(char) %C 一个ISO宽字符 %d 有符 ...
- centos6.7 本地yum源配置
[BEGIN] 2016/11/9 21:47:31[root@11g ~]# mount /dev/cdrom /mediamount: block device /dev/sr0 is write ...
- java 类型转json格式
json-lib-2.4-jdk15.jar List<People> mapPersonTypes = null; private JSONArray json_mapPersonTyp ...
- 胶囊碰撞体(CapsuleCollider)
胶囊碰撞体 (Capsule Collider) 胶囊碰撞体 (Capsule Collider) 由两个半球体与一个圆柱体相连接而构成.它与胶囊 (Capsule) 基元形状相同. 一堆胶囊碰撞 ...
- easyui datagrid 表格组件列属性formatter和styler使用方法
明确单元格DOM结构 要想弄清楚formatter和styler属性是怎么工作的,首先要弄清楚datagrid组件内容单元格的DOM接口,注意,这里指的是内容单元格,不包括标题单元格,标题单元格的结构 ...
- requests
>>>import requests>>> r = requests.get('http://www.zhidaow.com') # 发送请求>>&g ...
- 火狐和ie下获取javascript 获取event
javascript 获取event 先从一个简单的例子说起,一个简单的button控件如下: <input type='button' name='mybtn' id='mybtn' oncl ...
- C# 爬虫批量下载文件
public static void DownFile(string url, string path, string fileName) { HttpWebRequest request = (Ht ...
- Innodb 表修复(转)
摘要: 突然收到MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了.innodb表损坏不能通过repair table 等修复myisam的命令操作.现在记录下 ...
- WAS8.5安装
由于公司网络禁止上传图片,在网上找到相近的,安装过程图,可参照:http://www.open-open.com/doc/view/488fe6eaa2084da6b87cc18f1c00d2a8 1 ...