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()函數,可以產生可以預見的隨機序列。