• <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開獎
            精品无码久久久久久国产| 久久综合给合久久国产免费 | 国产精品久久午夜夜伦鲁鲁| 狠狠色丁香久久婷婷综合五月 | 99久久99久久精品国产片果冻| 2021国产精品久久精品| 久久精品国产亚洲AV无码娇色| 一本大道加勒比久久综合| 色综合久久中文字幕综合网| AV无码久久久久不卡蜜桃| segui久久国产精品| 国产毛片欧美毛片久久久| 精品国产热久久久福利| 99精品国产在热久久无毒不卡 | 久久精品九九亚洲精品| 精品综合久久久久久88小说| 人妻精品久久无码专区精东影业| 久久久久女教师免费一区| 91精品国产乱码久久久久久| 国产香蕉久久精品综合网| 久久99亚洲综合精品首页| 久久国产精品一区二区| 久久水蜜桃亚洲av无码精品麻豆 | 2020最新久久久视精品爱| 亚洲乱码精品久久久久..| 欧美久久一区二区三区| 久久亚洲综合色一区二区三区| 久久久亚洲欧洲日产国码二区 | 久久国产高清字幕中文| 久久精品午夜一区二区福利| 中文字幕日本人妻久久久免费| 久久亚洲AV永久无码精品| 久久亚洲国产成人精品无码区| 91精品免费久久久久久久久| 亚洲嫩草影院久久精品| 91久久精品无码一区二区毛片| 久久er热视频在这里精品| 国产精品美女久久久久AV福利| 国产高潮国产高潮久久久91| 99久久精品无码一区二区毛片 | 一本久久免费视频|