當前位置:首頁 » 編程語言 » rand在c語言里怎麼定義
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

rand在c語言里怎麼定義

發布時間: 2022-08-21 22:22:22

1. c語言裡面rand()是什麽函數,請說明下它的參數、返回值、功能以及頭文件,謝謝

函數名: rand
功 能: 隨機數發生器
用 法: void rand(void);
程序例:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int i;

printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}
這樣產生的隨機數為偽隨機數,如果要產生隨機數,可以在前面加一個隨機種子,srand(time(0)); time(0)返回的是系統的時間(從1970.1.1午夜算起)的總秒數,單位:秒
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main(void)
{
srand(time(0));
int i;
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);這樣就產生了0到99的隨機數(隨機數對100取余的結果)
return 0;
}

可以自己試試,沒加隨機種子時候,rand()%100每次產生的數都是一樣的,而加了srand(time(0))效果就不同了。

通過敲代碼實驗,並且參考以下網址
http://ke..com/view/5876059.htm

2. 隨機函數rand怎麼用c語言

一、首先包含必要的頭文件

#include<stdio.h>

這個包含用於輸入輸出的函數。

#include<stdlib.h>

這個包含初始化隨機數種子、產生隨機數的函數。

#include<time.h>

這個包含與時間有關的函數,初始化隨機數種子時可以用到。

二、使用如下公式產生在區間[min,max]之間的隨機數

int r=rand()%(max-min+1)+min;

三、一個例子,產生10個[1,100]的隨機整數

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

const int min=1,max=100;

int i,r;

//用當前時間初始化隨機數種子

srand(time(NULL));

printf("隨機產生的10個1-100的整數是:");

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

{

r=rand()%(max-min+1)+min;

printf("%d,",r);

}

return 0;

}

四、運行結果的截圖

截圖2

3. c語言中隨機變數rand的用法。最好隨機變數細講一下

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
srand(time(0));
int rnd = rand() % 1000;//產生1000以內的隨機數
return 0;
}
計算機的隨機數是偽隨機數,就是用一個公式計算出來的。而這樣肯定不會完全隨機。
使這個結果看起來像是真的隨機數的話,就需要把一個比較隨機的初值賦給這個生成公式(相同的初值會產生相同的隨機數)
所以一般使用當年的系統時間作為這個初值,也就是 使用隨機數之前加入srand(time(0));
生成隨機數rand() % 1000 模上一個數,使生成的隨機數在1000之內,如果你想讓他在100之內,就可以模100

4. C語言rand()函數的用法

你少了1。
這個公式是a+(b-a+1)*rand()/(RAND-MAX+1.0)
這里可以簡化,公式是a+rand%(b-a+1)

所以你寫得有點雜正確的是,-100+rand%201或-100+201*rand()/(RAND-MAX+1.0)

5. C語言中rand的用法

rand
語法:

#include <stdlib.h> int rand( void );
功能: 函數返回一個在零到RAND_MAX 之間的偽隨機整數。例如: srand( time(NULL) ); for( i = 0; i < 10; i++ ) printf( "Random number #%d: %d\n", i, rand() );

在vs中RAND_MAX的默認值是0x7fff
具體可以
#include<stdlib.h>
#include<iostream.h>

void main()
{
cout<<RAND_MAX<<endl;
}
來查看大小。

6. 誰能給出一個C語言中rand的准確定義啊(急)

rand()函數把一個隨機整數返回為int類型,該函數不需要任何變元。

7. c語言隨機函數怎麼用,怎麼定義

隨機函數就是產生數的函數,c語言里有rand(),srand()等函數。
用法
#include
#include
#include
void main( void )
{
int i,k;
srand( (unsigned)time( NULL ) ); //用系統時間當種子,對隨機函數進行初始化
for( i = 0; i < 10;i++ )
{
k=rand()%100; //產生各個隨機數
printf( " k=%d/n", k );
}
}
詳述
rand() srand() 頭文件為#include
標准C庫中函數rand()可以生成0~RAND_MAX之間的一個隨機數,其中RAND_MAX 是stdlib.h 中定義的一個整數,它與系統有關。
rand()函數沒有輸入參數,直接通過表達式rand()來引用,rand()%n是產生的隨機數對n取余,起到了取0到n-1之間隨機數的作用;
例如可以用下面的語句來列印兩個隨機數: printf("Random numbers are: %i %i/n",rand(),rand());
因為rand()函數是按指定的順序來產生整數,而未指定運行的種子,所以rand()每次使用的都是同一個種子來產生隨機數序列,因此每次執行上面的語句都列印相同的兩個值,所以說C語言的隨機並不是正真意義上的隨機。
為了時程序在每次執行時都能生成一個新序列的隨機值,我們通常通過為隨機數生成器提供一粒新的隨機種子。函數 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函數就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。
srand( (unsigned)time( NULL ) ); 用系統時間當種子,對隨機函數進行初始化,每次的系統時間不同,所以種子也就不同,產生的隨機數序列也就不同。

8. C語言這個rand是啥意思

rand()函數作用:用來產生隨機數,但是,rand()的內部實現是用線性同餘法實現的,是偽隨機數,由於周期較長,因此在一定范圍內可以看成是隨機的。

rand()函數返回:返回一個范圍在0到RAND_MAX(32767)之間的偽隨機數(整數)。

rand()函數頭文件:<stdlib.h>。

rand()函數原型:int rand(void)。

在調用rand()函數之前,可以使用srand()函數設置隨機數種子,如果沒有設置隨機數種子,rand()函數在調用時,自動設計隨機數種子為1。隨機種子相同,每次產生的隨機數也會相同

9. c語言中rand()函數怎麼用

rand函數功能為獲取一個偽隨機數(偽隨機數的概念下面會有介紹)。

一、函數名:

rand();


二、聲明:

int rand();


三、所在頭文件:

stdlib.h


四、功能:

返回一個偽隨機數。之所以說是偽隨機數,是因為在沒有其它操作下,每次執行同一個程序,調用rand得到的隨機數序列是固定的(不是真正的「隨機」)。


五、為了使rand的結果更「真」一些,也就是令其返回值更具有隨機性(不確定性),C語言在stdlib.h中還提供了srand函數,通過該函數可以設置一個隨機數種子,一般用當前時間的毫秒數來做參數。通過time(NULL)可以獲取到當前時間的毫秒值(該函數位於time.h)中。


六、使用rand的流程可以總結為:

1 調用srand(time(NULL))設置隨機數種子。

2 調用rand函數獲取一個或一系列隨機數。

需要注意的是,srand只需要在所有rand調用前,被調用一次即可,沒必要調用多次。


七、以下是隨機獲取10個整型值並輸出的例子,輔助理解。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

intmain()
{
inti;

srand(time(NULL));//設置隨機數種子。

for(i=0;i<10;i++)//運行10次。
printf("%d ",rand());//每次獲取一個隨機數並輸出。

return0;
}

10. C中,rand()是什麼意思,有什麼作用

rand()是表示產生隨機數的一種函數,多應用於循環語句當中進行判斷。

比如說n=rand();

switch(n)

{case1.......

case2......}

這些都是都可能被執行的,因為數字是隨機的。

(10)rand在c語言里怎麼定義擴展閱讀:

注意

rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個偽隨機數,是根據一個數,我們可以稱它為種了,為基準以某個遞推公式推算出來的一系數,

當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數,但這不是真正的隨機數,當計算機正常開機後,這個種子的值是定了的,除非你破壞了系統,為了改變這個種子的值,C提供了 srand()函數,它的原形是void srand( int a) ,

功能是初始化隨機產生器既rand()函數的初始值,即使把種子的值改成a; 從這你可以看到通過sand()函數,可以產生可以預見的隨機序列。

參考資料來源:rand函數-網路