随机数rand()srand()

一、rand()
函数名:   rand  
功   能:   随机数发生器
用   法:   int rand(void); 
所在头文件: stdlib.h
函数说明 :
rand()返回一随机数值的范围在0至RAND_MAX 间。如果求a~b之间的随机数,有两种方法:(1)a+(int)b*rand()/(RAND_MAX+1)
(2)rand()%(b-a+1)+a
二.srand()
函数名:   srand  
功   能:   初始化随机数发生器  
用   法:   void srand(unsigned  int  seed); 
所在头文件: stdlib.h 
函数说明:
srand()用来设置rand()产生随机数时的随机数种子。通常用srand((unsigned)time(NULL))或srand((unsigned)time(0)),此时需要包含头文件#include<time.h>
实例如下:
#include <iostream> 
using namespace std; 
#include  <stdlib.h>   
#include  <time.h>  
#define MIN 1  //随机数产生的范围   
#define MAX 10 
  
int main()   
{  
  int i;  
  srand((unsigned)time(0)); 
  cout<<"Ten random numbers from "<<MIN<< 
     " to "<<MAX<<" :/n"<<endl;   
  for(i=0; i<10; i++)     //产生随机数 
  { 
    cout<<MIN + (int)MAX * rand() / (RAND_MAX + 1)<<"/t";  
  } 
  cout<<endl; 
  return  0;   
}


#include <iostream> 
using namespace std; 
#include  <stdlib.h>   
#include  <time.h>  
#define MIN 0  //随机数产生的范围   
#define MAX 99 
  
int main()   
{  
  int i;  
  srand((unsigned)time(NULL)); 
  cout<<"Ten random numbers from "<<MIN<< 
     " to "<<MAX<<" :/n"<<endl;   
  for(i=0; i<10; i++)     //产生随机数 
  { 
    cout<<MIN + rand() % (MAX - MIN + 1)<<"/t";  
  } 
  cout<<endl; 
  return  0;   
}  


三.产生一定范围随机数的通用表示公式
要取得[a,b)的随机整数,使用(rand() % (b-a))+ a (结果值含a不含b)。
要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a (结果值含a和b)。
要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1 (结果值不含a含b)。
(总的来说,通用公式:a + rand() % n ;其中的a是起始值,n是整数的范围)
要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1)。
要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值