• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            C++分析研究  
            C++
            日歷
            <2014年1月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678
            統計
            • 隨筆 - 92
            • 文章 - 4
            • 評論 - 4
            • 引用 - 0

            導航

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             
              C語言/C++怎樣產生隨機數:這里要用到的是rand()函數, srand()函數,和time()函數。
             
               需要說明的是,iostream頭文件中就有srand函數的定義,不需要再額外引入stdlib.h;而使用time()函數需要引入ctime頭文件。托福答案
             
               使用rand()函數獲取一個隨機數
             
               如果你只要產生隨機數而不需要設定范圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 范圍在0至RAND_MAX 間。RAND_MAX定義在stdlib.h, 其值為2147483647.
             
               例子1.1:
             
               [cpp
             
               #include<iostream>
             
               using namespace std;
             
               int main()
             
               {
             
               for(int i=0;i<10;i++)
             
               {
             
               cout《rand()《endl;
             
               }
             
               }
             
               使用rand()函數獲取一定范圍內的一個隨機數
             
               如果想要獲取在一定范圍內的數的話,直接做相應的除法取余即可。
             
               例子2.1:
             
               [cpp]
             
               #include<iostream>
             
               using namespace std;
             
               int main()
             
               {
             
               for(int i=0;i<10;i++)
             
               {
             
               //產生10以內的整數
             
               cout《rand()%10《endl;
             
               }
             
               }
             
               我們上面獲取的都是隨機的整數,那么如何獲取小數呢?例如:我們可以先獲得10001以內的整數(0~10000),然后再用這個整數除以10000得到小數點后兩位的小數。
             
               例子2.2:
             
               [cpp]
             
               #include<iostream>
             
               using namespace std;
             
               int main()
             
               {
             
               for(int i=0;i<10;i++)
             
               {
             
               cout《(rand()%10001)/10000.0《endl;
             
               }
             
               }
             
               注意10000.0后面的有個小數點,表示結果為浮點數。
             
               使用rand函數和time函數
             
               我們上面已經可以獲取隨機數了,為什么還需要使用time函數呢?我們通過多次運行發現,該程序雖然生成了10個隨機數,但是這個10個隨機數是固定的,也就是說并不隨著時間的變化而變化。
             
               這與srand()函數有關。srand()用來設置rand()產生隨機數時的隨機數種子。在調用rand()函數產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在調用時會自動設隨機數種子為1.托福改分
             
               上面的例子就是因為沒有設置隨機數種子,每次隨機數種子都自動設成相同值1 ,進而導致rand()所產生的隨機數值都一樣。
             
               srand()函數定義 : void srand (unsigned int seed);
             
               通??梢岳胓eypid()或time(0)的返回值來當做seed
             
               如果你用time(0)的話,要加入頭文件#include<ctime>
             
               time(0)或者time(NULL)返回的是系統的時間(從1970.1.1午夜算起),單位:秒
             
               例子3.1:
             
               [cpp]
             
               #include <iostream>
             
               #include <ctime>
             
               using namespace std;
             
               void main()
             
               {
             
               int a;
             
               a=time(0);//time(0)返回的是系統的時間(從1970.1.1午夜算起),單位:秒
             
               cout《a《endl;
             
               }
             
               例子3.2:
             
               [cpp]
             
               #include<iostream>
             
               #include<ctime>
             
               using namespace std;
             
               int main()
             
               {
             
               srand(time(0));
             
               for(int i=0;i<10;i++)
             
               {
             
               //產生10以內的整數
             
               cout《rand()%10《endl;
             
               }
             
               }
             
               這樣做的話,每次運行的結果就都不一樣了。
             
             
             
            posted on 2013-10-14 15:37 HAOSOLA 閱讀(318) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎 PK10開獎
            亚洲国产婷婷香蕉久久久久久| 久久久WWW免费人成精品| 亚洲第一永久AV网站久久精品男人的天堂AV | 精品久久久久久无码国产| 99久久免费只有精品国产| 精品久久久久久国产三级| 久久精品国产亚洲av麻豆蜜芽| 蜜臀久久99精品久久久久久小说| MM131亚洲国产美女久久| 国产三级精品久久| 国产色综合久久无码有码| 久久久久国产一级毛片高清版| 久久精品国产清自在天天线| 伊人久久大香线蕉亚洲| 国产AⅤ精品一区二区三区久久| 欧美国产精品久久高清| 久久久精品人妻一区二区三区四| 91性高湖久久久久| 青青草原精品99久久精品66| 欧美精品一区二区久久 | 久久国产一区二区| 一本色道久久88综合日韩精品 | 亚洲欧美日韩久久精品第一区| 国产精品综合久久第一页| 久久久av波多野一区二区| 亚洲国产视频久久| 久久久久国产成人精品亚洲午夜| 粉嫩小泬无遮挡久久久久久| 97精品依人久久久大香线蕉97| 久久伊人五月天论坛| 91精品国产高清久久久久久国产嫩草 | 国产一区二区三区久久| 久久无码人妻一区二区三区| 国产69精品久久久久APP下载| 久久国产精品一区| 午夜精品久久久久久影视777| 久久AⅤ人妻少妇嫩草影院| 国内精品久久久久国产盗摄| 91久久九九无码成人网站| 91精品国产色综久久| 国产高清美女一级a毛片久久w|