導航:首頁 > 編程語言 > c編程隨機數

c編程隨機數

發布時間:2022-06-26 14:29:05

⑴ C語言如何編程產生隨機數

樓主你好,給你個最簡單的C程序

#include<stdio.h>
#include<stdlib.h>//這個是隨機數函數rand()所在頭文件,就像使用scanf要包含stdio.h。
voidmain()
{
inti=100;
while(i--)
{
printf("-------%d---",rand()%1000);
}
}

⑵ c語言產生隨機數的函數

在c語言中要產生隨機數可以用rand函數。

默認情況下這個函數產生的隨機整數的范圍是[0,RAND_MAX]。

RAND_MAX是一個預定義的宏,其值等於平台上int類型的最大值。

可以使用如下公式來產生一個[min,max]之間的隨機整數:

rand()%(max-min+1)+min

下面這個例子可以產生10個[1,100]的隨機數,並輸出了它們:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

int i;

//初始化隨機數種子

srand(time(NULL));

//printf("%d ",RAND_MAX);

for(i=0;i<10;i++)

printf("%d ",rand()%100+1);

return 0;

}

下面是運行結果的截圖:

⑶ 如何在C語言中生成一定范圍內的隨機數

srand((int)time(NULL));設定隨機數種子
rand()%100;產生0-99的隨機數。

高級點的,假如要產生16-59之間的數,你可以這樣寫:rand()%44+16(這里44由59-16+1得到)。其他情況如法炮製!

⑷ C語言隨機生成數字

for(int
i=0;i<=a長度;i++)
{
a[i]=random(100);/*得到0到100之間的隨機數,具體用法可以查一下隨機函數。相應的隨機函數還有randomize,srand,rand*/
}

⑸ C語言如何生成隨機數

在VC中設計到隨機數有兩個函數
srand()
and
rand()
srand()
的作用是是一個種子,提供每次獲得隨機數的基數而已,rand()根據種子而產生隨機數
注意
1:srand()
里的值必須是動態變化的,否則得到的隨機數就是一個固定數
2:其實可以不用寫srand()
,只用rand()就可以了,省事,簡單,例子如下
如果我們想得到一個
0-60的隨機數那麼可以寫成
int
i;
i=rand()%60;
就可以了。
當然最好有個統一的標注如下:
int
i;
srand((unsigned)time(
NULL
));
i=rand()%60;
這樣就OK了。

⑹ C語言抽取隨機數怎麼編寫

源程序代碼以及演算法解釋如下:

產生1-10隨機數程序:

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;//定義隨機數個數

int number[n] = { NULL };//定義隨機數存儲的數組

srand((unsigned)time(NULL));//初始化隨機函數

number[0] = rand() % n;//第一個隨機數無需比較

cout << number[0] << " ";

for (int i = 1; i < n; i++)//其餘隨機數循環產生

{

int j = 0;

number[i] = rand() % n;//產生隨機數

while (1)

{

if (number[i] == number[j])//若有相同則繼續循環重新安排隨機數

{

number[i] = rand() % n;//產生隨機數

j = 0;//若遇到相同的就從頭遍歷

continue;

}

if (j == (i - 1))//若遍歷完就跳出

break;

j++;

}

cout << number[i] << " ";

}

cout << endl;

return 0;

}

程序運行結果如下:



(6)c編程隨機數擴展閱讀:

利用vector進行隨機數輸出:

#include <iostream>

#include <vector>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;

int randnum;

vector<int> number;

for (int i = 0; i < n; i++)

{

number.push_back(i + 1);//從尾部添加元素

cout << number[i] << " ";

}

cout << endl;

srand((unsigned)time(NULL));

for (int j = 0; j < n; j++)//其餘隨機數循環產生

{

randnum = rand() % (n - j);//rand函數生成的隨機數是0-(n-1)

cout << number.at(randnum) << " ";

number.erase(number.begin() + randnum);

}

cout << endl;

return 0;

}

⑺ C語言怎樣產生一定范圍的隨機數

編譯環境為:vs2013
產生1到3的整型隨機數的代碼如下:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define max 3 //這個函數的意義為:隨機生成最大的數為3
#define min 1 //這個函數的意義為:隨機生成最小的數為1
int main()
{
int num;
srand(time(0));
num = rand() % (max - min) + min; // 這里的意義,「%」為模運算
printf("隨機數為:%d ", num);
system("pause"); //這個代碼可以讓彈出的黑框不會一下就消失
return 0;
}

(7)c編程隨機數擴展閱讀:

根據密碼學原理,隨機數的隨機性檢驗可以分為三個標准:

條件一、統計學偽隨機性。統計學偽隨機性指的是在給定的隨機比特流樣本中,1的數量大致等於0的數量,同理,「10」「01」「00」「11」四者數量大致相等。類似的標准被稱為統計學隨機性。滿足這類要求的數字在人類「一眼看上去」是隨機的。

條件二、密碼學安全偽隨機性。其定義為,給定隨機樣本的一部分和隨機演算法,不能有效的演算出隨機樣本的剩餘部分。

條件三、真隨機性。其定義為隨機樣本不可重現。實際上只要給定邊界條件,真隨機數並不存在,可是如果產生一個真隨機數樣本的邊界條件十分復雜且難以捕捉(比如計算機當地的本底輻射波動值),可以認為用這個方法演算出來了真隨機數。

隨機數分為三類:

①偽隨機數:滿足第一個條件的隨機數。

②密碼學安全的偽隨機數:同時滿足前兩個條件的隨機數。可以通過密碼學安全偽隨機數生成器

計算得出。

③真隨機數:同時滿足三個條件的隨機數。



⑻ 如何用c語言產生一定范圍內的隨機數

利用srand((unsigned int)(time(NULL))是一種方法,因為每一次運行程序的時間是不同的。

在C語言里所提供的隨機數發生器的用法:現在的C編譯器都提供了一個基於ANSI標準的偽隨機數發生器函數,用來生成隨機數。它們就是rand()和srand()函數。這二個函數的工作過程如下:

1) 首先給srand()提供一個種子,它是一個unsigned int類型,其取值范圍從0~65535;

2) 然後調用rand(),它會根據提供給srand()的種子值返回一個隨機數(在0到32767之間)

3) 根據需要多次調用rand(),從而不間斷地得到新的隨機數;

4) 無論什麼時候,都可以給srand()提供一個新的種子,從而進一步「隨機化」rand()的輸出結果。

下面是0~32767之間的隨機數程序:

#include <stdlib.h>

#include <stdio.h>

#include <time.h> // 使用當前時鍾做種子

void main(void)

{int i;

srand((unsigned)time( NULL ) ); // 初始化隨機數

for(i = 0; i < 10;i++) // 列印出 10 個隨機數

printf("%d ", rand() );

}

根據上面的程序可以很容易得到0~1之間的隨機數:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main( )

{int i;

srand((unsigned)time( NULL ) );

for(i = 0; i < 10;i++)

printf("%5.2f ", rand()/32767.0);

}

而產生1~100之間的隨機數可以這樣寫:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main( )

{int i;

srand((unsigned)time( NULL ) );

for(i = 0; i < 10;i++)

printf("%d ", rand()%100+1);

}

(8)c編程隨機數擴展閱讀:

C語言高效編程技巧:

一:以空間換時間

計算機程序中最大的矛盾是空間和時間的矛盾,那麼,從這個角度出發逆向思維來考慮程序的效率問題

二:數學方法解決問題

數學是計算機之母,沒有數學的依據和基礎,就沒有計算機發展,所以在編寫程序的時候,採用一些數學方法會對程序的執行效率有數量級的提高。

三:使用位操作

實現高效的C語言編寫的第三招----使用位操作,減少除法和取模的運算。

在計算機程序中,數據的位是可以操作的最小數據單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做數據變換使用,但是,靈活的位操作可以有效提高程序運行的效率。

⑼ c語言,如何產生隨機數

1、第一步,先定義int一個數組和int一個指針變數。

閱讀全文

與c編程隨機數相關的資料

熱點內容
livecn伺服器地址 瀏覽:255
程序員這個工作真的很吃香嗎 瀏覽:842
程序員和數學分析師待遇 瀏覽:676
壓縮氣彈簧怎麼拆 瀏覽:319
華為公有雲伺服器添加虛擬ip 瀏覽:207
程序員和運營哪個累 瀏覽:22
抖音安卓信息提示音怎麼設置 瀏覽:454
光速虛擬機的共享文件夾 瀏覽:246
程序員培訓機構發的朋友圈真實性 瀏覽:742
天乾地支簡單演算法 瀏覽:299
下載個壓縮文件 瀏覽:298
普通人電腦關機vs程序員關機 瀏覽:628
米酷建站源碼 瀏覽:115
氫氣app怎麼搜搭配 瀏覽:619
pdf綠盟 瀏覽:505
固態硬碟編譯器重建 瀏覽:391
怎樣編輯硬碟文件夾 瀏覽:660
安卓系統如何打開電腦軟體 瀏覽:572
android監聽事件處理 瀏覽:750
h3c伺服器怎麼看功率 瀏覽:122