1樓:匿名使用者
函式名: rand
功 能: 隨機數發生器。
用 法: int rand(void);
所在標頭檔案:
函式說明 :
rand()的內部實現是用線性同餘法做的,它不是真的隨機數,因其週期特別長,故在一定。
的範圍裡可看成是隨機的。
rand()返回一隨機數值的範圍在0至rand_max 間。rand_max的範圍最少是在32767之間(int)。用。
unsigned int 雙位元組是65535,四位元組是4294967295的整數範圍。0~rand_max每個數字被選中。
的機率是相同的。
使用者未設定隨機數種子時,系統預設的隨機數種子為1。
rand()產生的是偽隨機數字,每次執行時是相同的;若要不同,用函式srand()初始化它。
程式例:#include
using namespace std;
#include
#include
#define min 1 //隨機數產生的範圍。
#define max 10
int main()
{int i;
srand((unsigned)time(0));
cout<<"ten random numbers from "<
2樓:匿名使用者
rand()%3+1,在使用rand()前,要設定種子。
srand(time(null)),比如:
#include
#include
using namespace std;
int main()
{srand(time(null));
int i,j;
cout<<"隨機10次的結果"<
c++隨機函式怎樣編寫
3樓:網友
rand()
用法:1、rand()不需要引數,它會返回一個從0到最大隨機數的任意整數,最大隨機數的大小通常是固定的一個大整數。例如:
產生0~10的整數,可以表達為:
int n = rand() 11;
產生1~10的整數,可以表達為:
int n = 1 + rand() 11;
總結:a + rand() n
a是起始值,n是範圍。
c++ ôõã´±àð´ëæ»úêýéú³éº¯êý
c++產生隨機數的
4樓:挖土吃土
1、第一步,先定義int一個陣列和int一個指標變數。
2、接著我們選擇讓指標指向陣列的第一元素的地址。
3、接著使迴圈的條件為指標的尾地址。
4、並且因為這段**每次迴圈後指標+1。
5、最後,讓他進行輸出。
6、最後編譯執行完成後,便可以看到執行結果。
5樓:go陌小潔
具體**如下:
#include
#include
#include //用到了time函式。
int main()
return 0;
}有以下幾種情況:
(1) 如果你只要產生隨機數而不需要設定範圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 範圍在0至rand_max 間。rand_max定義在stdlib.
h, 其值為2147483647。
(2) 如果你要隨機生成一個在一定範圍的數,你可以在巨集定義中定義一個random(int number)函式,然後在main()裡面直接呼叫random()函式:
例如:rand()%100是產生0-99的隨機數。
(3)但是上面兩個例子所生成的隨機數都只能是一次性的,如果你第二次執行的時候輸出結果仍和第一次一樣。這與srand()函式有關。srand()用來設定rand()產生隨機數時的隨機數種子。
在呼叫rand()函式產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在呼叫時會自動設隨機數種子為1。上面的兩個例子就是因為沒有設定隨機數種子,每次隨機數種子都自動設成相同值1 ,進而導致rand()所產生的隨機數值都一樣。
srand()函式定義 : void srand (unsigned int seed);
通常可以利用geypid()或time(0)的返回值來當做seed。如果你用time(0)的話,要加入標頭檔案#include
6樓:網友
#include //引入標頭檔案。
#include //引入時間標頭檔案,一般用來初始化隨即函式保證每次有個不同的隨即序列。
...1. 如果你只需要一個隨即數列,而且每次執行都產生相同的隨即數列,就不需要用到srand和time這些。
2. std::rand() 是用來產生一個0..rand_max之間的隨機整數。
3. rand_max是cstdlib標頭檔案裡面定義的隨即整數的最大值。
4. 如果需要一個比如0..1之間的數,就要用一些數學計算(比如上面例子)
5. 如果需要其它範圍的隨機數,就要設計一些類似的運算去產生。標準c++函式庫只提供產生隨即整數的std::rand()函式。
7樓:匿名使用者
rand10 = double)rand()/rand_max + 1)* 0
常量溢位,超出整數範圍。
8樓:網友
你網上搜c++產生隨機數,裡面有例子還有解釋,現在網際網路的搜尋功能這麼強大,不要浪費這麼好的資源不用啊,尤其是學計算機的,熟悉使用工具很重要的。
9樓:網友
首先需要設定時間種子:
srand((int)time(0));如果沒有這句,你程式執行了10遍,10遍得到的隨機數將會是相同的結果;
int r = rand()%x;//r便是0-x以內的隨機數。
10樓:淦海瑤
rand()這個函式就是產生隨機數的,想要一個範圍的隨機數,可以用取餘數的方式。
如取0~99之間的數,可以rand()%100
11樓:匿名使用者
#include
#include
void main()
} 雖說吧,這種偽隨機數不好,但是吧要產生簡單的幾個,用這個就行了,不過呢,你理念不對,你一開始就賦值好了,輸出肯定一樣啊。
12樓:唐博
這個rand是假隨機,所以每次的結果都一樣。
rand的值跟srand有關。
告訴你一個方法。
包含標頭檔案
在使用rand前。
呼叫srand(time(0));
就可以了。
13樓:火駒
建立一個對話方塊工程,新增個按鈕,在按鈕的單擊事件函式里新增下面**隨機生成1000個隨機數,4個數一行。
void cranddlg::onrand()"d",rand())
strline+=str+"
}if("隨機數。txt",cfile::modecreate+cfile::modewrite))}
14樓:匿名使用者
c語言中的隨機數是偽隨機,真正意義上的隨機應該是和上一狀態無關的,所以設定srand就顯得尤為重要了。
下面是linux中stdlib的實現,供參考:
static long holdrand = 1l;
void srand(unsigned int seed)int rand()
15樓:常雅靜
#include #include //這裡少一個數學函式的標頭檔案,你自己去挖掘下,便於加深你的記憶!為了你好,少給你個標頭檔案,自己找吧! void directinsertionsort(int a,int n) cout<" 16樓:您帖子已被刪除 好像還要一個種子,你這個是預設的。 17樓:楠公小白 正在開發審定中的 c++ 新版標準包括一個隨機數生成器庫,可以生成好幾種常用隨機分佈型別的隨機數。 不過傳統的隨機數函式還是標準 c 庫中的 rand()。 // 設定隨機數發生公式的種子值。 srand( (unsigned)time( null ) // 獲得隨機數。 int i = rand() 4 + 1; c++èçºî´´½¨ëæ»úêý×ö
5 上面幾位說法有誤 隨機函式random是pascal語言中的標準函式,random x 的值為大於等於0且小於等於x 1的任意一個正整數 注意,這一點在實際使用中容易弄錯 其中x的型別為整型。randomize是初始化隨機數生成器,在pascal語言編寫的程式中可以使random函式的取值在每次執行... public string randomnum int n int t rand.next 61 if temp 1 temp t temp t vnum vcarray t return vnum 返回生成的隨機數 c 怎麼取隨機數?使用random類中的next 方法。例如,生成一個100以內的... int rnd 6 1 隨即產生1到6之間的整數rnd 函式隨即產生一個大於等於0但小於1的 單精度浮點數 例如 你要隨即產生10到96之間的整數 int rnd 87 10 假設產生a到b之間的整數 則這個範圍應該是b a,由於rnd隨機產生的數小於1且大於等於0,則應該將rnd 乘以 b a 1...pascal隨機函式
C關於隨機數抽取問題,C 怎麼獲取隨機數
vb中隨機函式的用法,VB中隨機函式的用法