c語言中的srand
⑴ c語言中srand隨機函數怎麼用知道
srand()函數是C語言中產生隨機數的一個函數。
函數原型:
void
srand(unsigned
seed)
功
能:
產生隨機數的起始發生數據,和rand函數配合使用
頭
文
件:
stdlib.h
time.h
舉例如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
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;
}
運行程序,會發現每次產生的隨機數都不一樣。這是因為這里採用了時間作為種子,而時間在每時每刻都不相同,所以就產生了"隨機"的隨機數了。所以,要想產生不同的隨機數,在使用rand之前需要先調用srand。
⑵ C語言 srand()函數
呵呵,這個是我遇到過的問題,並進行了一些研究。其實這是因為srand()函數是一個隨機數產生函數,其意思就是指c語言里的隨機數都是由它來控制產生的!!!如果在應用srand()函數之前就用隨機函數rand(),則相當於使用了srand(1);
而將srand((unsigned)time(null));這條語句放在了for循環里,即是用了srand((unsigned)time(0));故此句語句不變的話,產生的隨機數就不變!!!不懂的話可以問我!
⑶ C語言srand((unsigned)time(NULL)); 是什麼意思
srand()函數用來設置演算法的種子,time(NULL)返回當前的時間,先調用srand(time(NULL))是把當前的時間作為種子,是程序每次運行產生不同的隨機數序列。
涉及到三個概念:
1、隨機數:數學上產生的都是偽隨機數,真正的隨機數使用物理方法產生的。
2、隨機數種子:隨機數的產生是由算術規則產生的,srand(seed)的隨機數種子不同,rand()的隨機數值就不同,倘若每次的隨機數種子一樣,則rand()的值就一樣。所以要產生隨機數,則srand(seed)的隨機數種子必須也要隨機的。
3、用srand()產生隨機數種子
原型:void srand ( unsigned int seed )。作用是設置好隨機數種子,為了讓隨機數種子是隨機的,通常用time(NULL)的值來當seed。
參考資料來源:網路--srand
⑷ C語言中關於srand的這段函數是什麼意思
time_t
t
是宣告
t
這個變數。t
是調用
time函數需要的參數,time調用成功後,會返回一個值,而這個值同時也會保存在
t里。
&
是操作在t上,是
time
函數調用時需要
t
的地址作為參數。
srand
只是使用
time
調用後的返回值作為參數。一般來說
time_t
只是
long
的別名。具體可查看手冊或者
types.h
里的定義。
⑸ c語言srand怎麼用
#include<stdlib.h>
#include<stdio.h>
#include<time.h>/*用到了time函數,所以要有這個頭文件*/
srand((unsigned)time(NULL));/*隨機種子*/
⑹ 請教C語言中srand隨機函數
呵呵,這個是我遇到過的問題,並進行了一些研究。其實這是因為srand()函數是一個隨機數產生函數,其意思就是指C語言里的隨機數都是由它來控制產生的!!!如果在應用srand()函數之前就用隨機函數rand(),則相當於使用了srand(1);
而將srand( (unsigned)time( NULL ) );這條語句放在了for循環里,即是用了srand( (unsigned)time(0 ));故此句語句不變的話,產生的隨機數就不變!!!不懂的話可以問我!
⑺ C語言中srand隨機函數怎麼用
在c語言裡面,兩個函數包含在頭文件裡面,c++裡面,標准庫(被包含於中). srand函數是隨機數發生器的初始化函數。 原型:void srand(unsigned seed); rand函數用來產生隨機數,當然是偽隨機數。
⑻ c語言中語句srand(time(NULL))什麼意思。
c語言中 srand(time(NULL)); 的意思是:使用當前時間進行隨機數發生器的初始化。
time_t time(time_t *t); 是C標准庫函數,如果t是空指針(NULL),直接返回當前時間。如果t不是空指針,返回當前時間的同時,將返回值賦予t指向的內存空間。time() 是指返回自 Unix 紀元起的當前時間的秒數的函數,主要用來獲取當前的系統時間,返回的結果是一個time_t類型。
srand函數是隨機數發生器的初始化函數。原型:void srand(unsigned int seed); srand和rand()配合使用產生偽隨機數序列。
(8)c語言中的srand擴展閱讀:
srand函數的相關信息:
1、語法:void srand (unsigned seed);
2、參數說明:unsigned seed:隨機數產生器的初始值(種子值)。
3、功能說明:srand設置產生一系列偽隨機數發生器的起始點,要想把發生器重新初始化,可用1作seed值。任何共它的值都把發生器匿成一個隨機的起始點。rand檢索生成的偽隨機數。在任何調用srand之前調用rand與以1作為seed調用srand產生相同的序列。
此函數可以設定rand函數所用的隨機數產生演演算法的種子值。任何大於一的種子值都會將rand隨機數所產生的虛擬隨機數序列重新設定一個起始點。
4、包含文件:stdlib. h
5、返回值:無