#include
#include
#include
intmain()
else
if(a}while
(a!=number)
;printf
("太好了,你用了%d次就猜到了答案\n"
,count);}
`## 程式說明
這裡的srand函式和time函式如下:
srand函式
srand函式是隨機數發生器的初始化函式,原型:
void
srand
(unsigned
int seed)
; 這個函式需要提供乙個種子,如srand(1),用1來初始化種子
rand()產生隨機數時,如果用srand(seed)播下種子之後,一旦種子相同(下面的getpid方法),產生的隨機數將是相同的。當然很多時候刻意讓rand()產生的隨機數隨機化,用時間作種子 srand(time(null)),這樣每次執行程式的時間肯定是不相同的,產生的隨機數肯定就不一樣了。
我們常常使用系統時間來初始化,使用time函式來獲取系統時間,得到的值是乙個時間戳,即從2023年1月1日0點到現在時間的秒數,然後將得到的time_t型別資料轉化為(
unsigned
int)的數,然後再傳給srand函式,用法如下:
srand((
unsigned
int)
time
(null))
;//我們在使用rand和srand時,主要使用的就是這一種初始化方法!!
如果仍然覺得時間間隔太小,可以在(
unsigned
)time(0
)或者(
unsigned
)time
(null
)後面乘上某個合適的整數。 例如,
srand((
unsigned
)time
(null)*
10)time的引數傳null表示不需要經過引數獲得到的time_t資料,time函式原型如下
time_t time
(time_t *tloc)
;//time_t型別被定義為乙個長整型
還有另外一種初始化種子的方式如下,用程序的pid作為種子值seed,在同乙個程式中,這樣的種子的值是相同的
srand((
unsigned
int)
getpid()
)————————————————
80141412
c語言猜數字
猜數字遊戲是令遊戲機隨機產生乙個100以內的正整數,使用者輸入乙個數對其進行猜測,需要你編寫程式自動對其與隨機產生的被猜數進行比較,並提示大了 too big 還是小了 too small 相等表示猜到了。如果猜到,則結束程式。程式還要求統計猜的次數,如果1次猜出該數,提示 bingo 如果3次以內...
猜計算機隨機數
val random.randint 0,99 ra range 0,99 while true num eval input enter the num if num in ra if numthe number is a little lower than that elif num val p...
猜數字遊戲(C語言)
題目 輸入乙個隨機四位數,你猜這個四位數。你猜的結果與這個四位數進行比較,如果所在的位和 這個位上的數字都相同,用a表示。如果只是數字相同,而位置不同,則用b表示。你只有10次機會!如 隨機產生的數字為 4325 你猜的數 提示你 4586 1a0b 3524 0a4b.直到在10次內產生4a0b,...