當前位置:首頁 » 編程語言 » c語言生成不同隨機數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言生成不同隨機數

發布時間: 2023-08-13 00:33:30

『壹』 怎麼用c語言生成隨機數

假設要生成的隨機數是大於等於20且小於等於100的整數

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用當前時間生成一個隨機數種子
x=rand()%(b-a+1)+a;
printf("得到一個隨機數:%d ",x);
}

『貳』 C語言 如何產生1到52之間的不同的隨機數

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語言怎麼產生兩個不同的隨機數

#include<time.h>
#include<stdio.h>
#include<stdlib.h>
main(){
int i,a[2];
srand(time(0));
for(i=0;i<2;i++)
a[i]=rand();
for(i=0;i<2;i++)
printf("%d\n",a[i]);
}

『肆』 c語言怎樣同時產生幾組不同的隨機數

int
a=(int)random(b);random(n)是產生從1到n
的一個隨機數
nt
a=rand();rand()產生的是0--32767之間的隨機數,rand()%5則結果為0-4的任意數,rand()%5+1則為1-5的任意數

『伍』 C語言隨機函數怎樣產生0-9互不相同的10個隨機數

對已經獲取到的隨機數做標記,如果已返團經獲取到過,那麼則放棄該隨機數,並繼續獲取。

直到獲取到所有隨機數為止。

參考代碼如下:

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

intmain()
{
inta[10];//存儲獲取到的隨機數。
intf[10]={0};//存儲是否獲取到過。
intn=0;//計數器。

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

while(n<10)
{
intm=rand()%10;//獲取一個0~9的隨機數。
if(f[m])continue;//該數之前已經獲取到過。
a[n++]=m;//將睜世啟該數存入數組。
f[m]=1;//標記該數已經獲取過。
}

悉如for(n=0;n<10;n++)//列印結果。
printf("%d,",a[n]);

return0;
}

『陸』 c語言 產生一個隨機數,如何讓它每一次運行出現不同的隨機數結果

#include"stdio.h"
#include"stdlib.h"
#include"time.h"
intmain(void)
{
srand((unsigned)time(NULL));
inta;
a=rand()%10;
printf("%d ",a);
}

加一句srand((unsigned)time(NULL)); 打開隨機觸發器 與時鍾頻率同步

這樣每次隨機的數就不同 不過需要包含頭文件#include "time.h"

『柒』 C語言如何產生一定范圍內一定數量的不同隨機數

源代碼如下:

#include <stdio.h>

#include <stdlib.h>

#include <stdbool.h>

#include <unistd.h>

#define a 16807//or 48271

#define m 2147483647

#define q (m/a)

#define r (m%a)

static long int seed = 1;

//return rand long in [1,m]

long int pm_rand(void)

{

long hi = seed / q;

long lo = seed % q;

long tmp = a * lo - r * hi;

if(tmp > 0)

seed = tmp;

else

seed = tmp + m;

return seed;

}

int main(void)

{

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

printf("%ld ",pm_rand());

puts("");

return 0;

}

(7)c語言生成不同隨機數擴展閱讀

不指定范圍產生隨機數的源代碼

#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //隨機產生10個數。
{
printf("%d ", rand());
}
return 0;
}

『捌』 c語言怎樣產生兩個不同的隨機數

用random函數
但是既然是隨機數就有可能相同。要是一定不一樣那就不是隨機數了