用C++生成一个随机数
生活随笔
收集整理的這篇文章主要介紹了
用C++生成一个随机数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用C++生成一個隨機數
文章目錄
- 用C++生成一個隨機數
- C++語言生成隨機數的辦法
- 通用公式 :
- 例 (例中的隨機數生成公式為通用公式)
C++語言生成隨機數的辦法
1.使用rand()函數返回從[0,MAX)之見的隨機整數,這里的MAX由所定義的數據類型而定,需要在頭文件出使用:
#include<cstdlib>2.使用srand(time(NULL))或srand(time(0))設置當前的系統時間值為隨機數種子,有序系統時間是變化的,那么種子也是變化的。需要在頭文件處使用:
#include<cstdlib>和:
#include<ctime>提示 : 隨機數種子的作用是使rand()函數每次生成隨機數據,如果不用隨機數種子或用固定數隨即種子,rand()函數每次生成相同隨機數據.(如果每次生成的隨機數都相同,那么可能缺少了srand(time(0))
產生一定范圍隨機數的通用公式 :
- 要取得[a,b)的隨機整數,使用rand()%(b-a))+a.
- 要取得[a,b]的隨機正數,使用rand()%(b-a+1))+a.
- 要取得(a,b]的隨機整數,使用rand()%(b-a))+a+1.
通用公式 :
a+rand()%b.
其中的a是起始值,b是范圍內最大數.
要取得a到b之間的隨機整數,另一種表示 :
a+(int)b*rand()/(RAND_MAX+1)
要取得0 ~ 1之間的浮點數,可以使用 :
rand()/double(RAND_MAX)
例 (例中的隨機數生成公式為通用公式)
#include<iostream> #include<ctime> #include<cstdlib> using namespace std; int main() {int x,y,z;srand(time(0))x=1+rand()%1000;y=1+rand()%1000;z=1+rand()%1000;cout<<x<<" "<<y<<" "<<z;return 0; }~如有問題與建議請提出~
~END~
總結
以上是生活随笔為你收集整理的用C++生成一个随机数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 研究生考试又来到,网上确认证件照怎么拍?
- 下一篇: s3c2440移植MQTT