當前位置:首頁 » 編程語言 » c語言rand函數確切用法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言rand函數確切用法

發布時間: 2022-12-10 13:00:33

『壹』 c語言rand函數的使用

你好!!

srand((int)time(NULL));// 移到循環的外面

增加了每次出拳的顯示,便於查看

增加了局數的顯示

#include<stdlib.h>//為了使用srand、rand函數必須使用該頭文件
#include<time.h>//要使用time()必須使用該頭文件
#include<stdio.h>
intmain()
{
charin;
//出錯,產生的隨機數永遠一樣。
srand((int)time(NULL));//移到循環的外面
inta=1;

do{
intuser;//定義玩家和電腦出拳
intuwin,ulos,allwin;//定義玩家的勝利參數,失敗參數,平局參數
intcwin,clos,loop;//定義電腦的勝利參數和失敗參數,不需要定義平局參數,可以直接取用allwin
intcomputer=0;
uwin=0;
ulos=0;
allwin=0;
cwin=0;
clos=0;
computer=rand()%3+1;//隨機產生1-3任意一個整數,rand()%3是隨機產生0-2之間的整數(包含0但不包含3)

printf(" 【第%d局】 請出拳:",a);
a++;
scanf("%d",&user);
printf("這一局,您出的是【%d】,電腦出的是【%d】! ",user,computer);
switch(user)
{
case1:
if(computer==1)
{
printf("這一局,您出的是【石頭】,電腦出的是【石頭】,好巧哦,是平局耶! ");
allwin+=1;
}
}
}while(1);
}

『貳』 c語言隨機函數rand使用方法

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

int main(){
srand((unsigned int)time(0));//初始化種子為隨機值
int i = 0;
for(;i < 5;++i){
int num = rand() % 50 + 1;//產生一個1-50之間的數
printf("%d ",num);
}
printf("\n");
return 0;
}

『叄』 rand函數怎麼用

rand函數的用法有以下幾種:

1、基本用法:在Excel中,直接在單元格輸入=RAND(),就會得到大於等於0,小於1的隨機數。

2、生成A與B之間的隨機數字(A≤隨機數<B):在第一個格子中輸入=RAND()*(B-A)+A。如,生成1到10之間的隨機數字,輸入:=RAND()*9+1。其餘數字,將滑鼠置於該格子右下角,變為十字時,向下拖拉即可。

3、生成A與B之間的隨機整數(A≤隨機數<B):在第一個格子中輸入:=INT(RAND()*(B-A)+A)。如,生成1到10之間的隨機整數,輸入:=INT(RAND()*9+1)。其餘數字,將滑鼠置於該格子右下角,變為十字時,向下拖拉即可。

4、生成A與B之間的隨機數字(A≤隨機數≤B):在第一個格子中輸入:=RAND()*(B-A+1)+A。如,生成1到100的隨機數字,輸入:=RAND()*100+1。

但這個公式會出現大於B的數字,例如生成-12到12的隨機數,例如公式=RAND()%(12+12+1)-12,當RAND生成為0.99的數值時,就會產生12.75的數字。

5、生成A與B之間的隨機整數(A≤隨機數≤B)。在第一個格子中輸入:=INT(RAND()*(B-A+1)+A。如,生成1到100的隨機整數,輸入:= INT(RAND()*100)+1其餘數字,將滑鼠置於該格子右下角,變為十字時,向下拖拉即可。

『肆』 c語言中rand函數怎麼用

下圖是產生100個0~100之間隨機整數的程序和運行實況:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{ int i,n,a[100];

srand(time(0));

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

{ a[i]=rand()%101;

printf("%4d",a[i]);

}

return 0;

}

『伍』 c語言中rand()函數怎麼用

rand(產生隨機數)
相關函數
srand

表頭文件
#include<stdlib.h>

定義函數
int rand(void)

函數說明
rand()會返回一隨機數值,范圍在0至RAND_MAX 間。在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。關於隨機數種子請參考srand()。

返回值
返回0至RAND_MAX之間的隨機數值,RAND_MAX定義在stdlib.h,其值為2147483647。

範例
/* 產生介於1 到10 間的隨機數值,此範例未設隨機數種子,完整的隨機數產生請參考
srand()*/
#include<stdlib.h>
main()
{
int i,j;
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf("%d ",j);
}
}

執行
9 4 8 8 10 2 4 8 3 6
9 4 8 8 10 2 4 8 3 6

srand(設置隨機數種子)
相關函數
rand

表頭文件
#include<stdlib.h>

定義函數
void srand (unsigned int seed);

函數說明
srand()用來設置rand()產生隨機數時的隨機數種子。參數seed必須是個整數,通常可以利用geypid()或time(0)的返回值來當做seed。如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。

返回值

範例
/* 產生介於1 到10 間的隨機數值,此範例與執行結果可與rand()參照*/
#include<time.h>
#include<stdlib.h>
main()
{
int i,j;
srand((int)time(0));
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf(" %d ",j);
}
}

執行
5 8 8 8 10 2 10 8 9 9
2 9 7 4 10 3 2 10 8 7

『陸』 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)

『柒』 c語言中rand()函數怎麼用

#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned int seed; /*申明初始化器的種子,注意是usigned int 型的*/
int k;
printf("Enter a positive integer seed value: \n");
scanf("%u",&seed);
srand(seed);
printf("Random Numbers are:\n");
for(k = 1; k <= 10; k++)
{
printf("%i",rand());
printf("\n");
}
return 0;
}
當提供的種子相同時,隨機數序列也是相同的。而且當種子為1時,與不使用srand()函數時一樣的,也就是說rand()函數默認情況下初始化種子值為1;
在stdlib.h 中這兩個函數的原型是:
int rand();
void srand (unsigned int);
srand(time(0)); i=rand(); 這樣i就是一個真正意義上的隨機數。
rand()產生偽隨機數,srand函數提供種子,種子不同產生的隨機數序列也不同,所以通常先調用srand函數 time(0)返回的是系統的時間(從1970.1.1午夜算起),單位:秒,種子不同當然產生的隨機數相同幾率就很小了.

『捌』 c語言中rand函數的使用方法

它的返回值就是求取隨機的值,所以如果沒有對數有要求,直接這樣定:
printf("%d", rand());就能輸出一個隨機數.但如果對數有要求,如小數或在一定值以內:
小數:rand()+rand()/100.0 //100.0後面的.0必須寫,100是說明求兩位小數,你可以自己加大.
一定范圍:rand()%10+0 //10是頂和底的差,0是底,就是說求10到20之間的數就是:rand()%10+10
但是調用它必須先調用srand()來生成隨機種子,如果你沒調用它,系統會自動調用.但是srand是有個參數的,種子就是根據這個參數來定的,所以這個參數決定著生成的隨機數.如果你在代碼里寫死了它:srand(10);那這樣rand生成的隨機數就也被定格在了一定量,所以不要這樣用.要這樣寫:
srand(time(NULL));time的返回值是當前系統時間.因為時間不同,所取的數值也就不同.這樣隨機數就真正的隨機了.
time在中聲明
rand,srand在中聲明.

『玖』 c語言之rand函數的使用

c語言中的rand隨機數函數,是按指定順序來產生的,在生成隨機數之前,在stdlib.h頭文件中,會初始化函數srand,根據隨機種子seed,來獲取隨機數,如果seed不變,每次運行得到的隨機數會是一樣的,因此,rand函數也被大家叫做偽隨機數。下面就來介紹下rand函數的使用

  • 01

    打開代碼編譯器,輸入如下所示的代碼片段

  • 02

    運行該代碼片段,得到10個隨機數,但是我們發現,不論運行幾次,生成的隨機數都是這10個,也就是說,在種子seed不變的情況下,生成的隨機數是偽隨機數

  • 03

    我們引入頭文件time.h,取時間戳作為seed的取值來源,改代碼片段如下,將srand(1)改成srand(time(NULL))

  • 04

    運行代碼,得到10個隨機數如下,定義非常量的srand參數,可以避免偽隨機數的產生

『拾』 隨機函數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