c如何生成10位隨機數,C 中怎麼生成4位隨機數

時間 2021-05-07 20:00:10

1樓:匿名使用者

//方法1

public static int getrandom1(int minvalue, int maxvalue, int count)

array.sort(keys, items);

int result = new int[count];

array.copy(items, result, count);

return result;

}//方法2

public static int getrandom2(int minvalue, int maxvalue, int count)

int intret = new int[count];

int n = maxvalue;

random rand = new random();

for (int i = 0; i < count; i++)return intret;

}} 其實方法有很多,採用遞迴、hashtable、集合等都可以實現

2樓:**財經大鵬

random rd = new random();

int randomvalue = rd.next(999999999) + 1000000000;

思路是 取0~9位數的隨機數,加上十位的最小值

3樓:匿名使用者

////// 獲取10位隨即數(字串型別)

//////

private string getrandom()

4樓:匿名使用者

random rd=new random()

rd.next( min, max) 大於或等於min 小於max的隨機數

c#中怎麼生成4位隨機數

5樓:匿名使用者

random rad = new random();//例項化隨機數產生器rad;

6樓:匿名使用者

system.random random = new system.random();

int result= random.next(0, 9999);

這個是c#自帶的生成隨機數的類,你看看.next的說明就知道了

7樓:幻想武士

random rd = new random();

string str = "";

while (str.length < 4)}console.writeline("str="+str);

c#怎樣生成隨機數?

8樓:無名小卒

random類預設的無參建構函式可以根據當前系統時鐘為種子,進行一系列演算法得出要求範圍內的偽隨機數。

random rd = new random();

rd.next(1,10)(生成1~10之間的隨機數,不包括10)。

guid 類

guid (globally unique identifier) 全球唯一識別符號。

guid的計算使用到了很多在本機可取到的數字,如硬體的id碼,當前時間等.所計算出的128位整數(16位元組)可以接近唯一的輸出。

console.writeline(guid.newguid().tostring())。

9樓:匿名使用者

random rd = new random();

int i = rd.next();

next()方法進行了過載,可以通過設定不同的形參來達到自己想要的隨機數。

另外,c#與c++不同,它一開始就已經對他的隨機數運算元進行了預設設定(c++需要程式設計師自己設定,否則每次執行程式時,所產生的隨機數序列是一致的)。

c#語言,現在要生成10位隨機碼,包含數字,大小寫字母,如何生成,謝謝各位大神

10樓:匿名使用者

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace randomstringdemoconsole.writeline(str);

console.read();}}

}可以嗎?有疑問可以追問哦。

c#中怎麼生成4位隨機數???

11樓:匿名使用者

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

namespace 隨機數

private void button1_click(object sender, eventargs e)}}

12樓:來自大慈巖瀟灑的曹彰

怎樣才能生成完全的隨機數啊!!~

13樓:

random r = new random();

label1.text = r.next(1000, 10000).tostring();

14樓:匿名使用者

利用random函式就可以啊

.net 下用c#產生一個永不重複10位隨機數

15樓:敘事詩鞍悄

我們在做能自動生成試卷的考試系統時,常常需要隨機生成一組不重複的題目,在.net

framework中提供了一個專門用來產生隨機數的類system.random。

對於隨機數,大家都知道,計算機不可能產生完全隨機的數字,所謂的隨機數發生器都是通過

一定的演算法對事先選定的隨機種子做複雜的運算,用產生的結果來近似的模擬完全隨機數,這

種隨機數被稱作偽隨機數。偽隨機數是以相同的概率從一組有限的數字中選取的。所選數字並

不具有完全的隨機性,但是從實用的角度而言,其隨機程度已足夠了。偽隨機數的選擇是從隨

機種子開始的,所以為了保證每次得到的偽隨機數都足夠地「隨機」,隨機種子的選擇就顯得

非常重要。如果隨機種子一樣,那麼同一個隨機數發生器產生的隨機數也會一樣。一般地,我

們使用同系統時間有關的引數作為隨機種子,這也是.net framework中的隨機數發生器預設採

用的方法。

我們可以使用兩種方式初始化一個隨機數發生器:

第一種方法不指定隨機種子,系統自動選取當前時間作為隨機種子:

random ro = new random();

第二種方法可以指定一個int型引數作為隨機種子:

int iseed=10;

random ro = new random(10);

long tick = datetime.now.ticks;

random ran = new random((int)(tick & 0xffffffffl) | (int) (tick >> 32));

這樣可以保證99%不是一樣。

之後,我們就可以使用這個random類的物件來產生隨機數,這時候要用到random.next()方

法。這個方法使用相當靈活,你甚至可以指定產生的隨機數的上下限。

不指定上下限的使用如下:

int iresult;

iresult=ro.next();

下面的**指定返回小於100的隨機數:

int iresult;

int iup=100;

iresult=ro.next(iup);

而下面這段**則指定返回值必須在50-100的範圍之內:

int iresult;

int iup=100;

int idown=50;

iresult=ro.next(idown,iup);

除了random.next()方法之外,random類還提供了random.nextdouble()方法產生一個範

圍在0.0-1.0之間的隨機的雙精度浮點數:

double dresult;

dresult=ro.nextdouble();

但是用random類生成題號,會出現重複,特別是在數量較小的題目中要生成不重複的的題目

是很難的,參考了網上的一些方法,包括兩類,一類是通過隨機種子入手,使每一次的隨機種

子不同,來保證不重複;第二類是使用一些資料結構和演算法。下面主要就第二類介紹幾個方

法。方法1:思想是用一個陣列來儲存索引號,先隨機生成一個陣列位置,然後把這個位置的索引號

取出來,並把最後一個索引號複製到當前的陣列位置,然後使隨機數的上限減一,具體如:先

把這100個數放在一個陣列內,每次隨機取一個位置(第一次是1-100,第二次是1-99,...),

將該位置的數用最後的數代替。

int index = new int[15];

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

index = i;

random r = new random();

//用來儲存隨機生成的不重複的10個數

int result = new int[10];

int site = 15;//設定下限

int id;

for (int j = 0; j < 10; j++)

方法2:利用hashtable。[nextpage]

hashtable hashtable = new hashtable();

random rm = new random();

int rmnum = 10;

for (int i = 0; hashtable.count < rmnum; i++)

}方法3:遞迴,用它來檢測生成的隨機數是否有重複,如果取出來的數字和已取得的數字有重複就重新隨機獲取。

random ra=new random(unchecked((int)datetime.now.ticks));

int arrnum=new int[10];

int tmp=0;

int minvalue=1;

int maxvalue=10;

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

.........

.........

public int getnum(int arrnum,int tmp,int minvalue,int maxvalue,random ra)

n++;

}return tmp;}

16樓:當愛依成傳說

使用guid的雜湊碼作為種子值,就不會重複了,**如下:

public class randomhelper{///

///生成制定位數的隨機碼(數字)

/////////

17樓:幻想武士

說的比較籠統!

永不重複10位隨機數

?包括數字和字母?

18樓:匿名使用者

思路:可以用隨機數加時間的方法,這樣絕對不會重複

c#怎樣生成隨機數

19樓:無名小卒

random類預設的無參構造來

函式可自以根據當前系統時鐘為種子,進行一系列演算法得出要求範圍內的偽隨機數。

random rd = new random();

rd.next(1,10)(生成1~10之間的隨機數,不包括10)。

guid 類

guid (globally unique identifier) 全球唯一識別符號。

guid的計算使用到了很多在本機可取到的數字,如硬體的id碼,當前時間等.所計算出的128位整數(16位元組)可以接近唯一的輸出。

console.writeline(guid.newguid().tostring())。

C生成順序ID,C 生成順序ID!

我是菜鳥.看不懂樓上那位高手的演算法.希望高手能加個 說明一下.你用a陣列指向b陣列.看程式流程,b陣列是資料庫的.a陣列因為指向了b陣列.所以a陣列地址和b的一樣.值當然就一致了.但就是這精華部份看不懂了.if b j a i 1 a i 1 b j else a i 1 a i 1 內層for ...

c隨機生成多個不重複數,C 隨機生成多個不重複數

首先確定隨機數的大小範圍和型別 比如 1,100 的整數 然後是隨機數的多少?比如按照上面的設計 如果 超過 100.不可能不重複 不重複水機數的方法很多 我一般按集體需求來做 不如範圍很大,隨機數很少 從10000個裡面取10個 這樣,直接隨機 做簡單判斷就可以 random random new...

c語言生成dat檔案

吉祥二進位制 dat檔案本身就是一種具備多種意義的檔案。即可以是vcd的資料檔案,也可以使用者的配置檔案,有很多應用程式還將其作為配置檔案。c語言要生成dat檔案,只需要呼叫fopen fwrite fclose 等c語言標準檔案i o函式建立檔案 寫入資料即可。 沒什麼模板,寫檔案時,建立一個副檔...