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 ...
随机推荐
- STM32的Cortex-M3核与ARM7有何区别?哪个性能更强?
- Python如何规定对方输入的数字必须是整数?
可以使用字符串str的isdigit方法判断字符串是否是一个仅有数字组成,也就是整数.如果是整数退出while循环,否则继续请求输入. 1 2 3 4 5 6 while True: x = ...
- Articles Every Programmer Must Read
http://javarevisited.blogspot.sg/2014/05/10-articles-every-programmer-must-read.html Being a Java pr ...
- 使用支持向量机训练mnist数据
# encoding: utf-8 import numpy as np import matplotlib.pyplot as plt import cPickle import gzip clas ...
- 九度OJ题目1387斐波那契数列
/*斐波那契数列,又称黄金分割数列,指的是这样一个数列: 0.1.1.2.3.5.8.13.21.…… 在数学上,斐波纳契数列被定义如下: F0=0,F1=1, Fn=F(n-1)+F(n-2)(n& ...
- .htaccess中301强制跳转到带www前缀或不带www的域名
相信很多站长朋友都有这样的的问题出现.即带www前缀的域名与不带www前缀的顶级域名收录情况是不同的.这个问题主要是由于搜索引擎对于顶级域名与二级域名权重判定不同造成的.毫无疑问地,唯一的域名能够给你 ...
- html初学(一)
学习了一些html的基本用法,代码和效果如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...
- mongodb 最佳实践
MongoDB功能预览:http://pan.baidu.com/s/1k2UfW MongoDB在赶集网的应用:http://pan.baidu.com/s/1bngxgLp MongoDB在京东的 ...
- 解决weblogic启动缓慢 linux系统随机数问题
这是SUN,JDK一个bug解决办法是在weblogic启动脚本里setDomainEnv.sh: 加入以下内容 JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.s ...
- .NET RSACryptoServiceProvider PEM + DER Support
http://www.christian-etter.de/?p=771 In .NET, RSACryptoServiceProvider greatly simplifies common tas ...