c语言%m,C语言中rand()%m是啥意思?
rand()%m這個(gè)函數(shù)是隨機(jī)產(chǎn)生0到m-1的隨機(jī)數(shù);比如rand()%10就是隨機(jī)產(chǎn)生0到9的隨機(jī)數(shù)。
拓展資料
使用C語(yǔ)言的rand函數(shù),生成的是偽隨機(jī)數(shù);
c語(yǔ)言之rand函數(shù)的使用
1、寫(xiě)入頭文件
2、變量的定義
3、srand( (unsigned)time( NULL ) ); /*選取種子文件*/
4、for( i = 0; i <20;i++ ) /*循環(huán)控制20個(gè)隨機(jī)數(shù)的生成*/
{ k=rand()%100; /*儲(chǔ)存隨機(jī)數(shù)*/ printf( ” k=%d\n”, k ); /*輸出隨機(jī)數(shù)*/ } }
(1)此為隨機(jī)函數(shù)的一種產(chǎn)生方法
(2)如果只需一個(gè),那么可以省略循環(huán)控制
生成隨機(jī)數(shù)rand函數(shù)的用法:
函數(shù)rand()是真正的隨機(jī)數(shù)生成器,而srand()會(huì)設(shè)置供rand()使用的隨機(jī)數(shù)種子。如果你在第一次調(diào)用rand()之前沒(méi)有調(diào)用srand(),那么系統(tǒng)會(huì)為你自動(dòng)調(diào)用srand()。而使用同種子相同的數(shù)調(diào)用 srand()會(huì)導(dǎo)致相同的隨機(jī)數(shù)序列被生成。
srand((unsigned)time(NULL))則使用系統(tǒng)定時(shí)/計(jì)數(shù)器的值做為隨機(jī)種子。每個(gè)種子對(duì)應(yīng)一組根據(jù)算法預(yù)先生成的隨機(jī)數(shù),所以,在相同的平臺(tái)環(huán)境下,不同時(shí)間產(chǎn)生的隨機(jī)數(shù)會(huì)是不同的,相應(yīng)的,若將srand(unsigned)time(NULL)改為srand(TP)(TP為任一常量),則無(wú)論何時(shí)運(yùn)行、運(yùn)行多少次得到的“隨機(jī)數(shù)”都會(huì)是一組固定的序列,因此srand生成的隨機(jī)數(shù)是偽隨機(jī)數(shù)。
總結(jié)
以上是生活随笔為你收集整理的c语言%m,C语言中rand()%m是啥意思?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 航班管家发布《民航运行周报5.10- 5
- 下一篇: 编程方法学18:多维数组收尾