c語言隨機數產生
⑴ c語言 如何隨機生成數組
使用rand()函數+循環語句可生成一組隨機數組。
1、C語言提供了一些庫函數來實現隨機數的產生。C語言中有三個通用的隨機數發生器,分別為 rand函數, random函數, randomize 函數。rand函數產生的並不是真意正義上的隨機數,是一個偽隨機數,是根據一個數,稱之為種子,為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數。但這不是真正的隨機數,C提供了srand()函數,它的原形是void srand( int a),用來設置一個種子數。在調用rand函數產生隨機數前,應該先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。
2、常式:
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
voidmain(){
srand((unsigned)time(NULL));//用當前系統時間設置種子
inta[100];
printf("隨即初始化數組的100個數(范圍是0~100). ");
for(inti=0;i<100;i++){
a[i]=rand()%101;//用rand函數生成0-100的隨機數,並賦值給數組a[i]
printf("%4d",a[i]);
if(i%10==0&&i!=0)
printf(" ");
}
getchar();
}
⑵ c語言如何實現隨機數字的產生
數學意義上的隨機數在計算機上已被證明不可能實現。通常的隨機數是使用隨機數發生器在一個有限大的線性空間里取一個數。「隨機」甚至不能保證數字的出現是無規律的。
我覺得你的程序邏輯似乎不對,看程序a的值應該來自數組num[],假如在第一個for循環中生成的x值為1,第二次仍然生成1,程序將陷入死循環,又或者a是某個特定值,只是你應該給出說明。
使用系統時間作為隨機數發生器是常見的選擇,參考下面的隨機輸出1個1~99數字的程序:
#include
#include
#include
int
main(void)
{
int
i;
time_t
t;
srand((unsigned)
time(&t));
printf("ten
random
numbers
from
0
to
99\n\n");
for(i=0;
i<10;
i++)
printf("%d\n",
rand()
%
100);
return
0;
}
⑶ 怎麼用C語言生成隨機數
假設要生成的隨機數是大於等於20且小於等於100的整數
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用當前時間生成一個隨機數種子
x=rand()%(b-a+1)+a;
printf("得到一個隨機數:%d ",x);
}
⑷ c語言,如何產生隨機數
1、第一步,先定義int一個數組和int一個指針變數。
⑸ 用C語言怎樣產生10個不同的隨機數
方法和詳細的操作步驟如下:
1、第一步,打開C語言編譯器並創建一個新的初始.cpp文件,例如「test.cpp」,見下圖,轉到下面的步驟。
⑹ C語言怎樣產生一定范圍的隨機數
在C語言中,rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個偽隨機數,是根據一個數,可以稱它為種子。
為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數。
C語言產生一定范圍的隨機數的源代碼如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //隨機產生10個數。
{
printf("%d ", rand());
}
return 0;
}
(6)c語言隨機數產生擴展閱讀
1、如果要隨機生成一個在一定范圍的數,你可以在宏定義中定義一個random(int number)函數,然後在main()裡面直接調用random()函數。
2、在對rand()的前三次調用中,並且此後得到的返回值仍然是在對rand()的第一批調用中所得到的其餘的返回值。因此,只有再次給srand()提供一個隨機的「種子」值,才能再次得到一個隨機數。
⑺ c語言怎麼生成隨機數
你好!
#include<stdio.h>
#include<stdlib.h>//生成隨機數用
#include<time.h>//利用時間生成種子
#include<math.h>
intmain()
{
inti;
inta[100];
srand(time(NULL));//生成種子
for(i=0;i<100;i++)
{
a[i]=rand()%1000+1000;//生成一個小於1000的隨機數
//然後加1000,變成1000-2000之間的數
printf("%d",a[i]);//列印
}
i=rand()%100;//隨機抽取其中的一個數
printf("
抽取到的是:%d
",a[i]);//列印
return0;
}
⑻ C語言如何編程產生隨機數
1、首先打開Visual stdio 2019,依次點擊文件,新建,項目新建以一個空白的項目:
⑼ 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了。