亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言/C++中如何產(chǎn)生隨機數(shù)

 更新時間:2013年10月14日 08:40:49   作者:  
這里要用到的是rand()函數(shù), srand()函數(shù),和time()函數(shù)。需要說明的是,iostream頭文件中就有srand函數(shù)的定義,不需要再額外引入stdlib.h;而使用time()函數(shù)需要引入ctime頭文件

C語言/C++怎樣產(chǎn)生隨機數(shù):這里要用到的是rand()函數(shù), srand()函數(shù),和time()函數(shù)。

需要說明的是,iostream頭文件中就有srand函數(shù)的定義,不需要再額外引入stdlib.h;而使用time()函數(shù)需要引入ctime頭文件。

使用rand()函數(shù)獲取一個隨機數(shù)
如果你只要產(chǎn)生隨機數(shù)而不需要設(shè)定范圍的話,你只要用rand()就可以了:rand()會返回一隨機數(shù)值, 范圍在0至RAND_MAX 間。RAND_MAX定義在stdlib.h, 其值為2147483647。

例子1.1:

復制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 for(int i=0;i<10;i++)
 {
  cout<<rand()<<endl;
 }
}

結(jié)果:

使用rand()函數(shù)獲取一定范圍內(nèi)的一個隨機數(shù)

如果想要獲取在一定范圍內(nèi)的數(shù)的話,直接做相應的除法取余即可。

例子2.1:

復制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 for(int i=0;i<10;i++)
 {
  //產(chǎn)生10以內(nèi)的整數(shù)
  cout<<rand()%10<<endl;
 }
}

結(jié)果:

我們上面獲取的都是隨機的整數(shù),那么如何獲取小數(shù)呢?例如:我們可以先獲得10001以內(nèi)的整數(shù)(0~10000),然后再用這個整數(shù)除以10000得到小數(shù)點后兩位的小數(shù)。

例子2.2:

復制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 for(int i=0;i<10;i++)
 {
  cout<<(rand()%10001)/10000.0<<endl;
 }
}

注意10000.0后面的有個小數(shù)點,表示結(jié)果為浮點數(shù)。

結(jié)果:

使用rand函數(shù)和time函數(shù)
我們上面已經(jīng)可以獲取隨機數(shù)了,為什么還需要使用time函數(shù)呢?我們通過多次運行發(fā)現(xiàn),該程序雖然生成了10個隨機數(shù),但是這個10個隨機數(shù)是固定的,也就是說并不隨著時間的變化而變化。

這與srand()函數(shù)有關(guān)。srand()用來設(shè)置rand()產(chǎn)生隨機數(shù)時的隨機數(shù)種子。在調(diào)用rand()函數(shù)產(chǎn)生隨機數(shù)前,必須先利用srand()設(shè)好隨機數(shù)種子(seed), 如果未設(shè)隨機數(shù)種子, rand()在調(diào)用時會自動設(shè)隨機數(shù)種子為1。

上面的例子就是因為沒有設(shè)置隨機數(shù)種子,每次隨機數(shù)種子都自動設(shè)成相同值1 ,進而導致rand()所產(chǎn)生的隨機數(shù)值都一樣。

srand()函數(shù)定義 : void srand (unsigned int seed);

通??梢岳胓eypid()或time(0)的返回值來當做seed

如果你用time(0)的話,要加入頭文件#include<ctime>

time(0)或者time(NULL)返回的是系統(tǒng)的時間(從1970.1.1午夜算起),單位:秒

例子3.1:

復制代碼 代碼如下:

#include <iostream>
#include <ctime>
using namespace std;

void main()
{
 int a;
 a=time(0);//time(0)返回的是系統(tǒng)的時間(從1970.1.1午夜算起),單位:秒
 cout<<a<<endl;
}


例子3.2:
復制代碼 代碼如下:

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
 srand(time(0));
 for(int i=0;i<10;i++)
 {
  //產(chǎn)生10以內(nèi)的整數(shù)
  cout<<rand()%10<<endl;
 }
}

這樣做的話,每次運行的結(jié)果就都不一樣了。

相關(guān)文章

  • C++引用的使用與const修飾符

    C++引用的使用與const修飾符

    這篇文章介紹了C++引用使用與const修飾符,引用是給已經(jīng)定義的變量一個別名,可以簡單理解成同一個變量的昵稱,既然是昵稱或者是別名,顯然它和原本的變量名有著同樣的效力,所以我們對別名進行修改,原本的變量值也一樣會發(fā)生變化,下面來看看詳細內(nèi)容,需要的朋友可以參考下
    2021-11-11
  • VC實現(xiàn)圖片拖拽及動畫的實例

    VC實現(xiàn)圖片拖拽及動畫的實例

    這篇文章介紹了VC實現(xiàn)圖片拖拽及動畫的實例,有需要的朋友可以參考一下
    2013-08-08
  • C語言實現(xiàn)登錄注冊和忘記密碼功能

    C語言實現(xiàn)登錄注冊和忘記密碼功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)登錄、注冊和忘記密碼功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 基于Matlab實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)交通標志識別

    基于Matlab實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)交通標志識別

    道路交通標志用以禁止、警告、指示和限制道路使用者有秩序地使用道路,?保障出行安全.若能自動識別道路交通標志,?則將極大減少道路交通事故的發(fā)生。本文將介紹基于Matlab實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)交通標志識別,感興趣的可以學習一下
    2022-01-01
  • C++中運算符重載詳解及其作用介紹

    C++中運算符重載詳解及其作用介紹

    這篇文章主要介紹了C++中運算符重載詳解及其作用介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 深入理解C語言的new[]和delete[]

    深入理解C語言的new[]和delete[]

    new和delete既是C++中的關(guān)鍵字也是一種特殊的運算符。這篇文章主要介紹了C++的new和delete詳解,需要的朋友可以參考下
    2021-09-09
  • C++實現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換

    C++實現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換

    這篇文章主要為大家詳細介紹了C++實現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換的方法,文中的示例代碼講解詳細,對我們學習C++有一定的幫助,需要的可以參考一下
    2023-01-01
  • C++-操作符重載、并實現(xiàn)復數(shù)類詳解

    C++-操作符重載、并實現(xiàn)復數(shù)類詳解

    這篇文章主要介紹了C++-操作符重載、并實現(xiàn)復數(shù)類,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • C語言跳轉(zhuǎn)瀏覽器打開指定URL的操作代碼

    C語言跳轉(zhuǎn)瀏覽器打開指定URL的操作代碼

    這篇文章主要介紹了C語言跳轉(zhuǎn)瀏覽器打開指定URL,該代碼使用sprintf()函數(shù)將要打開的URL添加到一個系統(tǒng)命令中,然后使用system()函數(shù)調(diào)用該命令以默認瀏覽器打開URL,需要的朋友可以參考下
    2023-04-04
  • C++編譯器和鏈接器工作原理及使用方法完全指南

    C++編譯器和鏈接器工作原理及使用方法完全指南

    本文將詳細介紹C++中的編譯器和鏈接器以及它們的工作原理及使用方法全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論