题外:先定义一个指针变量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(),可以指定不同的数(无符号整数变元)为种子。但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子,但是仍然不理想。

这样,如果你要产生0~10的10个整数,可以表达为: 
int N = rand() % 11; 
     这样,N的值就是一个0~10的随机数,如果要产生1~10,则是这样: 
int N = 1 + rand() % 10; 
总结来说,可以表示为: 
a + rand() % n
若要0~1的小数,则可以先取得0~10的整数,然后均除以10即可得到随机到十分位的10个随机小数,若要得到随机到百分位的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依此类推。
 
要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a  

rand srand的更多相关文章

  1. C++随机数rand(), srand()

    c++产生随机数会用到rand(), srand()函数,下面总结两个函数特性和使用. 1. rand() #include <iostream> #include <cstdlib ...

  2. 【转】随机函数 rand() srand() 以及seed的原理

    from:http://blog.csdn.net/feige2008/article/details/6943885   标准库<cstdlib>(被包含于<iostream> ...

  3. C/C++中产生随机数(rand,srand用法)

    计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535 ...

  4. 数据结构及算法篇bsearch crypt lfind lsearch qsort rand srand

    crypt(将密码或数据编码) 相关函数 getpass 表头文件 #define _XOPEN_SOURCE #include<unistd.h> 定义函数 char * crypt ( ...

  5. 随机数的生成 - rand(), srand()

    2017-08-20  17:43:29 writer:pprp 我们采用随机数可以对我们的算法进行大数据检验 /* name : 简单的随机数生成算法 writer : pprp declare : ...

  6. c++ rand &amp;&amp; srand 函数

    RAND: 结构:rand()     注:rand()不需要参数,它会根据种子返回一个从0到最大随机数的任意整数. 作用:生成一个随机数. 头文件:#include <cstdlib> ...

  7. C++产生随机数

    随机数 计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是6 ...

  8. Servlet程序中玩验证码

    验证码思想:所谓验证码就是产生若干随机数,存放到session中,然后在servlet中获取session中的该值与页面输入值相比较,进而判断正误.   产生验证码的方法: 随机数放在图片中,封装为一 ...

  9. ios 常用数学函数

    需要 引入头文件 #import <math.h> 1. 三角函数  double sin (double);正弦  double cos (double);余弦  double tan ...

随机推荐

  1. Raspberry Pi --操作LED

    最简单的一个树莓派GPIO操作入门,这里记录以下 先上连接图: 卧槽.图真特么的大 用到了GPIO的GND和#18针脚,这就不上图了,红色的线接的是18针脚,暗色的线接的是GND针脚,下面上Pytho ...

  2. hdu 3836 Equivalent Sets

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=3836 Equivalent Sets Description To prove two sets A ...

  3. javascript中对象的属性的特性

    1.ES5的属性特性包括下面六个: configurable: 表示能否通过delete来删除属性从而重新定义属性,能够修改属性的特性,默认为true enumberable: 表示是否能通过for- ...

  4. 10409 - Die Game

    Problem G: Die Game Life is not easy. Sometimes it is beyond your control. Now, as contestants of AC ...

  5. laravel的时间日期处理包Carbon用法

    时间日期处理包--Carbon Carbon – 是继承自 PHP DateTime 类的 API 扩展,它使得处理日期和时间更加简单.Laravel 中默认使用的时间处理类就是 Carbon. La ...

  6. Linux 目录栈及目录切换

    使用 cd - (中杠)会切换到上一次的目录 cd 命令会改变目录栈 1.dirs 1)功能显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录) 2)语法(1)格式:dirs  ...

  7. Django TypeError: isinstance() arg 2 must be a type or tuple of types

    报错: TypeError: isinstance() arg must be a type or tuple of types from django.db import modelsfrom dj ...

  8. GitLab 修改主机名,更换 IP 配置,配置 SMTP

    # find / -name gitlab.yml /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml /var/opt/gitla ...

  9. oracle 年龄计算 岁 月 天

    select trunc(months/12) || '岁' || trunc(mod(months, 12)) || '月' ||       trunc(sysdate - add_months( ...

  10. DB2 数据类型转换

    db2数据类型转换: 1.CAST() CAST (<expression> AS <data_ type>[ length ]) 2.CONVERT() CONVERT (& ...