回覆列表
-
1 # 使用者822882810563
-
2 # 使用者8504024020264
#include
#include
int myrand()
{
return abs(rand())%71+20;
//abs取絕對值,確保得到正數,rand()%71得到-70到+70之間的整數
//所以最後得到的範圍是 0+20 到70+20的範圍的整數
}
int main()
{
int number;
number = myrand();
//自定義輸出,或者使用number
}
相關內容
- c語言中a[i][j]=rand()/1000+1;是什麼意思;隨機發生函式rand()是怎麼隨機發生的,有什麼範圍嗎?
- excel中rand函式的引數含義?
- 從鍵盤任意輸入一個整數n,程式設計計算並輸出1~n之間的所有素數之和我編的這個程式怎麼錯了(C語言)?
- MATLAB中rand和randn分別是什麼函式?
- initlist是c語言的函式嗎?
- 寫一個fun函式用於一個判斷整數是否為素數的函式,並使用該函式求1000以內的素數?
- C語言read函式?
- c語言fread函式的用法?
- 在C語言中如一次性判斷一個整數有多少位?
- c語言c++ 利用函式來計算從1到n的階乘之和,n由鍵盤輸入,注意一定要看清是c++ 謝謝各位?
首先 RAND_MAX 表示 rand( )函式所能產生的最大隨機數,在 stdlib.h 中定義如下
然後可以這樣理解
rand( )/ (RAND_MAX + 1.0)
他把產生的隨機數變成了 0 到 1 之間的隨機數,包含 0 ,不包含 1 。
然後乘上 10 變成了 0 到 10 之間的隨機數,包含 0 ,不包含 10 。
然後取 int ,把隨機數強制轉化為整數,包含 0 ,不包含 10 ,也就是 0 到 9 的隨機整數。
最後加上 1 ,變成 1 到 11 的隨機數,包含 1 ,不包含 11 ,也就是 1 到 10 的隨機整數。
擴充套件:
這樣就變成 MIN 到 MAX 之間到隨機整數。