日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用c语言随机获区100个整数,用rand() 函数去100 个随机的整数的有关问题

發布時間:2025/3/15 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用c语言随机获区100个整数,用rand() 函数去100 个随机的整数的有关问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用rand() 函數去100 個隨機的整數的問題

int?rand100?=?(((double)?rand()?/?(double)?RAND_MAX)?*?RANGE_MAX?+?RANGE_MIN);

你讓??RANGE_MAX=1;RANGE_MIN?=?0

問題:

1?rand()?返回的是?什么類型的數?

2?(double)?rand()?/?(double)?RAND_MAX),為什么要對rand取整?這樣的結果不就是?零?嗎?

3?要是?去?100??個?隨機?整數,這個程序對嗎?

分享到:

更多

------解決方案--------------------

rand()返回值是int

RANGE_MAX取值應該為100,這樣就是一個0-100范圍內的隨機數

------解決方案--------------------

參考C:\Program?Files\Microsoft?Visual?Studio?10.0\VC\crt\src\rand.c

/***

*rand.c?-?random?number?generator

*

*???????Copyright?(c)?Microsoft?Corporation.?All?rights?reserved.

*

*Purpose:

*???????defines?rand(),?srand()?-?random?number?generator

*

*******************************************************************************/

#include?

#include?

#include?

#include?

/***

*void?srand(seed)?-?seed?the?random?number?generator

*

*Purpose:

*???????Seeds?the?random?number?generator?with?the?int?given.??Adapted?from?the

*???????BASIC?random?number?generator.

*

*Entry:

*???????unsigned?seed?-?seed?to?seed?rand?#?generator?with

*

*Exit:

*???????None.

*

*Exceptions:

*

*******************************************************************************/

void?__cdecl?srand?(

unsigned?int?seed

)

{

_getptd()->_holdrand?=?(unsigned?long)seed;

}

/***

*int?rand()?-?returns?a?random?number

*

*Purpose:

*???????returns?a?pseudo-random?number?0?through?32767.

*

*Entry:

*???????None.

*

*Exit:

*???????Returns?a?pseudo-random?number?0?through?32767.

*

*Exceptions:

*

*******************************************************************************/

int?__cdecl?rand?(

void

)

{

_ptiddata?ptd?=?_getptd();

return(?((ptd->_holdrand?=?ptd->_holdrand?*?214013L

+?2531011L)?>>?16)?&?0x7fff?);

}

------解決方案--------------------

1.rand()函數返回什么

rand()函數式stdlib.h里聲明的函數。

它生成一個[0,?RAND_MAX]的均勻隨機整數。

其中,RAND_MAX至少為32767(2^15-1)

returns?a?pseudo-random?number?0?through?32767.

2.?(double)?rand()?/?(double)?RAND_MAX):

這是把生成的隨機數范圍縮小到[0,1],double/double得出結果不是0,而是double型數據

3.?要是?去?100?個?隨機?整數,這個程序對嗎?

不對。

乘以RANGE_MAX是讓隨機數的范圍擴大到[0,?RANGE_MAX],加上RANGE_MIN是讓隨機數的范圍限制到[RANGE_MIN,?RANGE_MAX]

總結

以上是生活随笔為你收集整理的用c语言随机获区100个整数,用rand() 函数去100 个随机的整数的有关问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。