• <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開獎
            一本久久知道综合久久| AV无码久久久久不卡蜜桃| 久久久国产精品| 久久亚洲中文字幕精品一区| 久久久久久国产精品无码下载| 久久亚洲精品无码aⅴ大香| 99精品国产免费久久久久久下载| 久久久久久亚洲精品成人 | 久久综合久久性久99毛片| 久久久久久综合网天天| 亚洲午夜久久久精品影院| 麻豆av久久av盛宴av| 久久综合综合久久狠狠狠97色88| 久久国产热这里只有精品| 久久er99热精品一区二区| 久久伊人亚洲AV无码网站| 国产精品丝袜久久久久久不卡| 久久久久亚洲AV成人网人人网站 | 欧美一区二区三区久久综| 99久久亚洲综合精品网站| 一本色道久久88精品综合| 久久人妻少妇嫩草AV无码蜜桃| 久久99国产精品一区二区| 亚洲人成伊人成综合网久久久| 久久人人爽人人爽AV片| 中文字幕亚洲综合久久| 国产精品久久久久无码av| 久久久久人妻一区精品性色av| 三级三级久久三级久久| 久久99这里只有精品国产| 久久久久一本毛久久久| 久久久久久久久久久免费精品| 久久亚洲精品视频| 996久久国产精品线观看| 久久久无码精品亚洲日韩蜜臀浪潮| 久久国语露脸国产精品电影| 久久久久久久91精品免费观看 | 99精品伊人久久久大香线蕉| 国内精品久久久久影院免费| 九九久久自然熟的香蕉图片| 久久亚洲美女精品国产精品|