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

c語言隨機數求各范圍的數

發布時間: 2022-10-09 19:11:59

c語言怎樣產生一定范圍的隨機數

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
intn;
srand(time(NULL));
while(1)
{
n=rand()%3+1;
printf("%d ",n);
system("pause");
}
return0;
}

② c語言隨機數范圍

估計你是不符合條件就一直隨機了……直到隨機到了為止
首先,確定你a的子集裡面的元素個數,比如{a[1][1],a[6][5],a[3][5],a[3][7]}總共4個,把這4個元素單獨組成一個新數組b[4],然後
srand((unsigned)time(null)); d
=
rand()%(b內元素個數,也就是4);開始隨機
此時d顯然滿足條件,操作b[d]也就是操作你原來的符合條件的a[j][k]

③ C語言怎樣產生一定范圍的隨機數

在C語言中,rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個偽隨機數,是根據一個數,可以稱它為種子。

為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當於產生了隨機數。

C語言產生一定范圍的隨機數的源代碼如下:

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i;

for(i=0; i<10; i++) //隨機產生10個數。

{

printf("%d ", rand());

}

return 0;

}

(3)c語言隨機數求各范圍的數擴展閱讀

1、如果要隨機生成一個在一定范圍的數,你可以在宏定義中定義一個random(int number)函數,然後在main()裡面直接調用random()函數。

2、在對rand()的前三次調用中,並且此後得到的返回值仍然是在對rand()的第一批調用中所得到的其餘的返回值。因此,只有再次給srand()提供一個隨機的「種子」值,才能再次得到一個隨機數。

④ 如何在C語言中生成一定范圍內的隨機數

用rand函數吧,好久不用C語言,不太記得,貌似是int a=rand()% X(X即范圍)這是偽隨機數
#include<time.h>
srand(time(NULL));使用前用這條語句初始化
使用int a=rand() / RAND_MAX * n;

就得到真正的隨機數

⑤ 如何用c語言產生一定范圍內的隨機數

利用srand((unsigned int)(time(NULL))是一種方法,因為每一次運行程序的時間是不同的。

在C語言里所提供的隨機數發生器的用法:現在的C編譯器都提供了一個基於ANSI標準的偽隨機數發生器函數,用來生成隨機數。它們就是rand()和srand()函數。這二個函數的工作過程如下:

1) 首先給srand()提供一個種子,它是一個unsigned int類型,其取值范圍從0~65535;

2) 然後調用rand(),它會根據提供給srand()的種子值返回一個隨機數(在0到32767之間)

3) 根據需要多次調用rand(),從而不間斷地得到新的隨機數;

4) 無論什麼時候,都可以給srand()提供一個新的種子,從而進一步「隨機化」rand()的輸出結果。

下面是0~32767之間的隨機數程序:

#include <stdlib.h>

#include <stdio.h>

#include <time.h> // 使用當前時鍾做種子

void main(void)

{int i;

srand((unsigned)time( NULL ) ); // 初始化隨機數

for(i = 0; i < 10;i++) // 列印出 10 個隨機數

printf("%d ", rand() );

}

根據上面的程序可以很容易得到0~1之間的隨機數:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main( )

{int i;

srand((unsigned)time( NULL ) );

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

printf("%5.2f ", rand()/32767.0);

}

而產生1~100之間的隨機數可以這樣寫:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main( )

{int i;

srand((unsigned)time( NULL ) );

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

printf("%d ", rand()%100+1);

}

(5)c語言隨機數求各范圍的數擴展閱讀:

C語言高效編程技巧:

一:以空間換時間

計算機程序中最大的矛盾是空間和時間的矛盾,那麼,從這個角度出發逆向思維來考慮程序的效率問題

二:數學方法解決問題

數學是計算機之母,沒有數學的依據和基礎,就沒有計算機發展,所以在編寫程序的時候,採用一些數學方法會對程序的執行效率有數量級的提高。

三:使用位操作

實現高效的C語言編寫的第三招----使用位操作,減少除法和取模的運算。

在計算機程序中,數據的位是可以操作的最小數據單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做數據變換使用,但是,靈活的位操作可以有效提高程序運行的效率。

⑥ 如何在C語言中產生一定范圍的隨機數

c語言的獲取隨機數的函數為rand(),
可以獲得一個非負整數的隨機數。要調用rand需要引用頭文件stdlib.h。
要讓隨機數限定在一個范圍,可以採用模除加加法的方式。
要產生隨機數r,
其范圍為
m<=r<=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理為,對於任意數,
0<=rand()%(n-m+1)<=n-m
於是
0+m<=rand()%(n-m+1)+m<=n-m+m

m<=rand()%(n-m+1)+m<=n

⑦ 如何用c語言產生一定范圍內的隨機數

C語言的獲取隨機數的函數為rand(), 可以獲得一個非負整數的隨機數。要調用rand需要引用頭文件stdlib.h。 要讓隨機數限定在一個范圍,可以採用模除加加法的方式。 要產生隨機數r

⑧ 在C語言中,怎麼用隨機數函數產生的數的范圍為1~100

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{int a[20],i;
srand(time(NULL)); //初始化隨機數發生器
for(i=0;i<20;i++)
{
a[i]=rand()%100+1; //要產生[a,b]之間的隨機整數,可用rand%(b-a+1)+a
//因為的值位於區間[0,b-a],這樣的數+a後就位於區間[a,b]
printf("%d ",a[i]);
}
printf("\n");
return 0;
}

⑨ c語言中生成指定大小范圍內(10…200以內)的一個隨機數

您好,這樣就可以了

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
intn;
srand(time(NULL));//初始化隨機數種子
n=rand()%191+10;
printf("%d ",n);
}

⑩ 如何在C語言中生成一定范圍內的隨機數

srand((int)time(NULL));設定隨機數種子
rand()%100;產生0-99的隨機數。

高級點的,假如要產生16-59之間的數,你可以這樣寫:rand()%44+16(這里44由59-16+1得到)。其他情況如法炮製!