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

利用RAND 跑亂數

怎樣讓ㄊ能跑出有負號的亂數呢!?

或者怎樣讓他不跑出負號的亂數呢!?

還有一個 enum ():

這是代表著什麼意思

2006-12-18 19:49:48 · 2 個解答 · 發問者 Xue 1 in 電腦與網際網路 程式設計

我看到的程式碼是

enum(continue win lose)

可是ㄊ並沒有宣告裡面的三個單字
就立即使用 while(X = continue){....}

這是什麼意思呢!?我一開始是當 三個單字各存成 0 1 2 如果真是這樣~~~那麼還有可到0 1 2 3 ~ ~ ~ ~ >嗎!?
或者他是別的涵義!?用途呢!?

2006-12-19 11:13:28 · update #1

多問依個 RAND()_MAX 是代表在 32767*2的數裡面抓數字嗎!?的正整數

2006-12-19 11:14:58 · update #2

還有@@".........我都打 srand(time(NULL)) 有差嗎!?

2006-12-19 11:16:00 · update #3

2 個解答


#include
#include
#include
int main()
{ enum { ONE, TWO, THREE };
srand(time(0)); // 用現在時間當亂數種子
printf("%d\n", rand()); // 標準簡單 0 ~ RAND_MAX 的值
printf("%d\n", rand() % 100); // 標準簡單 0 ~ 100 的值
printf("%d\n", rand() % 199 - 99); // 標準簡單 -99 ~ 99 的值

printf("%d %d %d\n", ONE, TWO, THREE); // 會印出 0 1 2

return 0;
}
有關亂數,請看上面的簡單範例。
enum 是enumeration 的簡寫,意思是例舉。
你列舉出的東東,變成從 0 開始的常數,所以會印出 0 1 2 來。
它有較複雜的用法,你若也想知道,可以再問,我會寫詳細一點。

2006-12-19 21:42:51 補充:
那程式我見過,有人拿來問我!

enum(continue win lose)
就是宣告它們的值 = 0, 1, 2

你可以一直列,它就會 3 4 5 6 一直下去。

它可以做成更複雜,你可以暫時不管它;
但要記得,我目前告訴你的,並不是 enum 的全部!
以後還要再學。

RAND()_MAX 標準值就是 32767,沒有 *2
所以,是從 0 ~ 32767含 0 和 32767,當然是正整數

2006-12-19 21:43:00 補充:
你打得比較標準,我的比較偷懶。
好一點的 compiler 就會對我的打法提出警告。
這就是差別!
個人很討厭 NULL,可能是學程式時,電腦還很慢,我打字也不快;
NULL 本來就是個 0,所以,我少打 3 個字,電腦少個轉換,嗯,不錯!
但,NULL 會隨 compiler 的不同,變成不同準度(int, long, long long)的 0;
0 不會,它就是 int

2006-12-22 21:37:18 補充:
只要你是真的願意學,0點我也答!
你要是只是想偷懶、想去玩,1000點我也不屑!

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

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

2006-12-19 01:50:30 · answer #1 · answered by ? 7 · 0 0

因該是不會跑出負號吧
如果要讓他隨機跑出負數
你可以用兩個亂數去跑
一個跑有負號或者沒負號
一個跑幾號
或者是全部都要負號的話
就乘以負一

2006-12-18 20:17:15 · answer #2 · answered by ﹛﹛mimic-5258﹛﹛ 3 · 0 0

fedest.com, questions and answers