當(dāng)前位置:
首頁(yè) >
用C++生成一个随机数
發(fā)布時(shí)間:2023/12/8
56
豆豆
生活随笔
收集整理的這篇文章主要介紹了
用C++生成一个随机数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
用C++生成一個(gè)隨機(jī)數(shù)
文章目錄
- 用C++生成一個(gè)隨機(jī)數(shù)
- C++語(yǔ)言生成隨機(jī)數(shù)的辦法
- 通用公式 :
- 例 (例中的隨機(jī)數(shù)生成公式為通用公式)
C++語(yǔ)言生成隨機(jī)數(shù)的辦法
1.使用rand()函數(shù)返回從[0,MAX)之見(jiàn)的隨機(jī)整數(shù),這里的MAX由所定義的數(shù)據(jù)類(lèi)型而定,需要在頭文件出使用:
#include<cstdlib>2.使用srand(time(NULL))或srand(time(0))設(shè)置當(dāng)前的系統(tǒng)時(shí)間值為隨機(jī)數(shù)種子,有序系統(tǒng)時(shí)間是變化的,那么種子也是變化的。需要在頭文件處使用:
#include<cstdlib>和:
#include<ctime>提示 : 隨機(jī)數(shù)種子的作用是使rand()函數(shù)每次生成隨機(jī)數(shù)據(jù),如果不用隨機(jī)數(shù)種子或用固定數(shù)隨即種子,rand()函數(shù)每次生成相同隨機(jī)數(shù)據(jù).(如果每次生成的隨機(jī)數(shù)都相同,那么可能缺少了srand(time(0))
產(chǎn)生一定范圍隨機(jī)數(shù)的通用公式 :
- 要取得[a,b)的隨機(jī)整數(shù),使用rand()%(b-a))+a.
- 要取得[a,b]的隨機(jī)正數(shù),使用rand()%(b-a+1))+a.
- 要取得(a,b]的隨機(jī)整數(shù),使用rand()%(b-a))+a+1.
通用公式 :
a+rand()%b.
其中的a是起始值,b是范圍內(nèi)最大數(shù).
要取得a到b之間的隨機(jī)整數(shù),另一種表示 :
a+(int)b*rand()/(RAND_MAX+1)
要取得0 ~ 1之間的浮點(diǎn)數(shù),可以使用 :
rand()/double(RAND_MAX)
例 (例中的隨機(jī)數(shù)生成公式為通用公式)
#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; }~如有問(wèn)題與建議請(qǐng)?zhí)岢鰚
~END~
總結(jié)
以上是生活随笔為你收集整理的用C++生成一个随机数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 研究生考试又来到,网上确认证件照怎么拍?
- 下一篇: C++面试题整理(二)