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 ...
随机推荐
- min-height for IE6
1. className{ min-height:500px; height:auto !important; height:500px; } 2. 在做页面布局时遇到了i ...
- MFC中使用Duilib--2
在上一篇文章"MFC中使用Duilib--1"中, 没有用到资源文件,即xml,本篇讲怎样加载文件. 1. 在exe输出目录下,创建一个skin目录,里面放入需要用到的图片文件, ...
- System.Diagnostics命名空间里的Debug类和Trace类的用途
在 .NET 类库中有一个 System.Diagnostics 命名空间,该命名空间提供了一些与系统进程.事件日志.和性能计数器进行交互的类库.当中包括了两个对开发人员而言十分有用的类--Debug ...
- zookeeper源码学习一——zookeeper启动
最近正在研究zookeeper,一些心得记录一下,如有错误,还请大神指正. zookeeper下载地址:http://zookeeper.apache.org/releases.html,百度一下就能 ...
- 15条变量&方法命名的最佳实践【转】
原文地址:15 Best Practices of Variable & Method Naming 不同的代码段采用不同的命名长度.通常来说,循环计数器(loop counters)采用1位 ...
- SQL SERVER 只有MDF文件的恢复
方式一: .create a database same name as .mdf file; .Stop SQL Server; . recover .mdf file; . Start SQL S ...
- eclipse中java文件报错:The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
问题:The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class fi ...
- Linux命令之WC
$ wc story.txt39 237 1901 story.txt● Use -l for only line count● Use -w for only word count● Use -c ...
- nsq的erlang客户端
nsq是基于golang开发的分布式消息系统,这里仅仅贴个和erlang之间的通信demo rebar-creator create-app test_nsq rebar.config % -*- e ...
- python安装psycopg2
vim ~/.bash_profile export PATH=/Applications/Postgres.app/Contents/Versions/9.4/bin/:$PATH pip inst ...