English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

小弟目前遇到一個問題

我目前只寫了以下的程式↓
For 12
SayExpression Int(Rnd*9+0)
EndFor
可是.....,執行第2次,會重複到

只有數字隨機

我想 把英文( 大小寫) 和數字,隨機混合在一起

,然後不重複,怎麼寫一個迴圈

希望有高手可以教我

2007-01-23 13:26:52 · 1 個解答 · 發問者 Hemly 2 in 電腦與網際網路 程式設計

別隨便貼一些網址,沒有確認裡面有沒有,我這個問題的教學

2007-01-23 13:29:50 · update #1

我有找到,類似的答案,卻不會動
s = Int(Rnd * 26) 1

Split(s, "q,a,z,w,s,x,e,d,c,r,f,v,t,g,b,y,h,n,u,j,m,i,k,o,l,p")

For i = 1 To 26

以上是範圍,亂數取a~z

我把這個,放在按鍵精靈裡面,不會運作

不知道哪裡出錯

2007-01-25 08:34:39 · update #2

我忘了說 按鍵精靈的使用語言是VB Script

用C 不能用QQ

2007-01-26 19:44:29 · update #3

1 個解答

您沒指出您要的語言,我用 C 寫給您看:

#include
#include
#include

int main()
{ int i, j, k;
char K[53], t;
srand(time(NULL)); // 亂數初始化
for (K[52]=i=0; i<26; i++) // 放好 A~Z, a~z
K[i] = 'A' + i,
K[i+26] = 'a' + i;

for (i=0; i<35; i++) // 重點在這!35 那個數只要 大於 26 小於 52 都好
j = rand()%52, k = rand()%52, // 產生 2 個亂數
t = K[j], K[j] = K[k], K[k] = t; // 把那 2 個字母對換
printf(K); // 換好囉!印出來看看
return 0;
}
至於你說的按鍵精靈,我就不清楚了。
你是指啥?


2007-01-28 02:08:46 補充:
26 * 2 = 52,數值不大,可以用你說的〝再加上一個判別式,來偵測有沒有重複。〞
若是不是 52,而是 300或以上,最後幾個會要過好久才出得來。

2007-09-12 02:46:11 補充:
我已在我的論壇發表一篇較完整的 rand( )
歡迎有興趣的網友前往觀看,
並提供意見與指正。^_^

http://www.phpbbserver.com/graphicsparalle/viewtopic.php?p=201

2007-01-26 00:44:12 · answer #1 · answered by ? 7 · 0 0

fedest.com, questions and answers