• <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);
             
               通常可以利用geypid()或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開獎
            国产综合久久久久| 亚洲国产精品无码久久九九| 青青草原精品99久久精品66| 精品久久久久久国产| 亚洲欧美成人综合久久久 | 亚洲v国产v天堂a无码久久| 亚洲成av人片不卡无码久久| 粉嫩小泬无遮挡久久久久久| 久久久久久久久久免免费精品| 色天使久久综合网天天| 久久精品国产亚洲av麻豆小说| 久久99久久成人免费播放| 亚洲欧洲日产国码无码久久99| 9999国产精品欧美久久久久久| 伊人久久综合精品无码AV专区| 精品国产热久久久福利| 久久久久亚洲精品天堂| 亚洲欧美国产精品专区久久| 国产免费久久精品99久久| 久久久久久久97| 久久无码高潮喷水| 免费精品久久久久久中文字幕| 久久AV高清无码| 亚洲国产精品久久久天堂| 久久影院午夜理论片无码| 99久久99这里只有免费费精品| 久久久久亚洲av成人网人人软件 | 久久精品久久久久观看99水蜜桃| 亚洲国产精品久久| 69久久精品无码一区二区| 亚洲伊人久久大香线蕉综合图片| 狠狠色丁香婷婷综合久久来来去| 国产精品久久网| 国产V亚洲V天堂无码久久久| 久久只有这里有精品4| 久久亚洲中文字幕精品一区| 精品99久久aaa一级毛片| 久久国产精品二国产精品| 国产精品成人久久久久三级午夜电影| 久久成人影院精品777| 九九久久99综合一区二区|