• <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++
            日歷
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456
            統計
            • 隨筆 - 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 閱讀(330) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎 PK10開獎
            日本加勒比久久精品| 四虎国产精品成人免费久久| 亚洲欧美伊人久久综合一区二区 | 99久久精品免费国产大片| 久久精品成人国产午夜| 久久久久综合中文字幕| 亚洲午夜久久久久妓女影院 | 久久综合亚洲色HEZYO社区| 久久国产精品99国产精| 色诱久久av| 国产欧美久久久精品| 色婷婷噜噜久久国产精品12p | 欧美伊人久久大香线蕉综合69| 色欲久久久天天天综合网精品 | 熟妇人妻久久中文字幕| 久久久久亚洲av成人无码电影| 亚洲午夜久久久久久噜噜噜| 亚洲国产综合久久天堂| 久久久精品午夜免费不卡| 中文精品久久久久人妻不卡| 久久久久免费视频| 国内精品久久久久久久久 | 性高湖久久久久久久久AAAAA| 77777亚洲午夜久久多喷| 成人午夜精品无码区久久| 精品国产婷婷久久久| 久久精品国产亚洲网站| 久久不射电影网| 久久精品这里热有精品| 久久国产精品99精品国产| 国产精品久久久久久吹潮| 久久精品夜夜夜夜夜久久| 漂亮人妻被中出中文字幕久久 | 久久这里只有精品首页| 99久久综合狠狠综合久久止| 国产人久久人人人人爽| AV无码久久久久不卡网站下载| 久久亚洲精品中文字幕| 国产美女久久精品香蕉69| 日本久久久久久中文字幕| 99久久国产综合精品网成人影院|