㈠ 用C語言怎樣產生10個不同的隨機數
方法和詳細的操作步驟如下:
1、第一步,打開C語言編譯器並創建一個新的初始.cpp文件,例如「test.cpp」,見下圖,轉到下面的步驟。

㈡ 詳細介紹一下C語言裡面的隨機數產生函數random怎麼用
rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個偽隨機數,是根據一個數,我們可以稱它為種了,為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數,但這不是真正的隨機數,當計算機正常開機後,這個種子的值是定了的,除非你破壞了系統,為了改變這個種子的值,C提供了 srand()函數,它的原形是void srand( int a).
初始化隨機產生器既rand()函數的初始值,即使把種子的值改成a; 從這你可以看到通過sand()函數,我們是可以產生可以預見的隨機序列,那我們如何才能產生不可預見的隨機序列呢?我們可能常常需要這樣的隨機序列,是吧。利用srand((unsign)(time(NULL))是一種方法,因為每一次運行程序的時間是不同的.
下面講一講在C語言里所提供的隨機數發生器的用法。現在的C編譯器都提供了一個基於ANSI標準的偽隨機數發生器函數,用來生成隨機數。它們就是rand()和srand()函數。這二個函數的工作過程如下:
1) 首先給srand()提供一個種子,它是一個unsigned int類型,其取值范圍從0~65535;
2) 然後調用rand(),它會根據提供給srand()的種子值返回一個隨機數(在0到32767之間)
3) 根據需要多次調用rand(),從而不間斷地得到新的隨機數;
4) 無論什麼時候,都可以給srand()提供一個新的種子,從而進一步「隨機化」rand()的輸出結果。
以下是一個產生隨機數的例子:
需要首先使用隨機數「種子」初始化,srand函數:
#include<stdlib.h>
#include<stdio.h>
#include<time.h>//使用當前時鍾做種子
voidmain(void)
{
inti;
srand((unsigned)time(NULL));//初始化隨機數
/*列印10個隨機數.*/
for(i=0;i<10;i++)
printf("%d
",rand());
}
#include<stdlib.h>
#include<time.h>
main
{
inti;
srand(time(0));//初始化隨機種子
i=rand();//產生隨機數
}
首先,加一個"#include<stdlib.h>
然後設一個變數,如j,j=rand(),就可以給j賦一個1~32767的隨機數,如果要獲得一個隨機函數的十位(其它類似),只需令j=j%10就行.
添加頭文件 #include<time.h>
然後在文件中添加 srand((unsigned)time(NULL));
srand()是用來初始化隨機種子數的,因為rand的內部實現是用線性同餘法做的,它不是真的隨機數,只不過是因為其周期特別長,所以有一定的范圍里可看成是隨機的.
上面是有個隨機種子的說明及方法,為了避免重復.然後再 用 隨機函數,rand() 就行了.
頭文件是 stdlib.h
random() 產生隨機數為 0或1
random(n) 產生隨機數為 0到n之間的一個隨機數
rand() 產生 0到32768之間的一個隨機數
函數名: randomize
功 能: 初始化隨機數發生器
用 法: void randomize(void);
程序例:
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
intmain(void)
{
inti;
randomize();
printf("Tenrandomnumbersfrom0to99
");
for(i=0;i<10;i++)
printf("%d
",rand()%100);
return0;
}
㈢ 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語言中生成一定范圍內的隨機數
用rand函數吧,好久不用C語言,不太記得,貌似是int a=rand()% X(X即范圍)這是偽隨機數
#include<time.h>
srand(time(NULL));使用前用這條語句初始化
使用int a=rand() / RAND_MAX * n;
就得到真正的隨機數