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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

C语言(rand函数)

發布時間:2025/4/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言(rand函数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言(rand函數)

(2006-09-24 20:41:59) 轉載
? ?

srand()就是給rand()提供種子seed

1,先看一個例子
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main( void )
{
int i;
/* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );
/* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( " %6d/n", rand() );
}

2.關于time.h
time.h中包含很多有趣的函數,譬如
char *ctime(long *clock)
本函數把clock所指的時間(如由函數time返回的時間)轉換成下列格式的
字符串:Mon Nov 21 11:31:54 1983/n/0

#i nclude <iostream>
#i nclude <stdlib.h>
#i nclude <time.h>
using namespace std;


void main()
{
time_t t1,t2;
char getTime[20];
char *ptstring=getTime;

int x,count=0;
x=RAND_MAX;
cout<<<'/n';
t1=time(NULL);
ptstring=ctime(&t1);

while(count<=100)
{
srand( (unsigned)time( NULL ) );
x=rand()%50;
if(x<5)
continue;
else
{
count++;
cout<<"the numth is "<<<'/n';
}
}

查看ptstring的值會顯示 "Tue Sep 13 16:31:06 2005"

3, 最后說說srand()函數
void srand(unsigned seed) 初始化隨機數發生器

有討論如下:
1.C的函數庫之所以沒有把使用系統時鐘初始化隨機種子這步重要的操作直接放進ran

d函數的實現中,我覺得至少有三個原因:
(1)可以高效產生連續的隨機數,不用每次都初始化;
(2)給程序員以更高的靈活性,因為可能在要求較高的場合,應該使用更好的的數據

做種子,而不是系統時鐘;
(3)對于只是想產生大量偽隨機數來盡興某種驗證或者統計,未必需要初始化,大不

了程序每次運行都產生同樣的一系列隨機數而已——有些情況下,這是無所謂的。

事實上有一個更重要的原因:
作為偽隨機序列產生器的rand()函數,必須具備的一個重要特性就是-》產生的序

列必須是可重現的。
這不僅僅是一個算法,相當大的程度上,它關系到代碼測試的準確性。如果算法中

使用了和rand()的結果相關的數據,通過一個可控的可重現序列,我們就有機會再現每一

次測試的過程,從而更有效的找到問題的所在。
所以這里提出一個建議,代碼中,如果rand()的函數結果關系到算法的結果,那么

,必須保證你的rand()調用是可重現的。

4,c語言里函數rand()和srand()的用法 - -

rand(void)用于產生一個偽隨機unsigned int 整數。
srand(seed)用于給rand()函數設定種子。

srand 和 rand 應該組和使用。一般來說,srand 是對 rand 進行設置。
比如:
srand((UINT)GetCurrentTime());
int x = rand() % 100;
是生成 0 到 100 之間的隨機數。

srand()是用來初始化隨機種子數的,因為rand的內部實現是用線性同余法做的,他不是真

的隨機數,只不過是因為其周期特別長,所以有一定的范圍里可看成是隨機的,式子如下


rand = rand*const_1 + c_var;
srand函數就是給它的第一個rand值。

用"int x = rand() % 100;"來生成 0 到 100 之間的隨機數這種方法是不或取的,
比較好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0))  產生一個0到n之間的隨機

5.總結
1)srand()給rand()提供種子
2)srand()中的seed一般由時間函數得,eg srand((UINT)GetCurrentTime()) srand( (unsigned)time( NULL ) ) time()函數得到現在的系統時間...等等

http://blog.sina.com.cn/s/blog_4983d426010005wz.html?retcode=0

來源:(http://blog.sina.com.cn/s/blog_4983d426010005wz.html?retcode=0) - C語言(rand函數)_丁志中_新浪博客

總結

以上是生活随笔為你收集整理的C语言(rand函数)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩一级二级 | 国产精品一区二区自拍 | 俺去草 | 亚洲天堂手机在线 | 9i免费看片黄 | 夜夜嗨aⅴ一区二区三区 | av国产一区二区 | 91大神网址 | 97自拍偷拍| 91免费国产 | 国产午夜福利视频在线观看 | 妻子的性幻想 | 6680新视觉电影免费观看 | 无码人妻精品一区二区50 | 超碰在线网址 | 青娱乐av| 天天操天天玩 | 激情文学亚洲色图 | 日韩av片免费观看 | 激情四射婷婷 | 国产美女主播在线观看 | 中文字幕无码精品亚洲 | 国产一区二区三区视频在线观看 | 日韩五月天| 免费在线观看a视频 | 丝袜美腿中文字幕 | 爱爱激情网 | 国产宾馆自拍 | 亚洲观看黄色网 | 亚洲熟妇丰满大屁股熟妇 | 亚洲乱码精品久久久久.. | 91精品国自产在线 | 日韩有码中文字幕在线观看 | 色骚网 | 亚洲av无码一区二区乱子伦 | 黑森林av凹凸导航 | 在线看日本 | 大陆一级片 | 亚洲欧美日韩激情 | 欧美人与禽性xxxxx杂性 | 亚洲va国产va天堂va久久 | 免费毛片在线播放 | 国产一级视频在线播放 | 日韩欧美国产高清 | www.一区二区三区 | 四虎影视大全 | 亚洲一区二区三区免费 | 欧美激情亚洲 | 色人阁在线视频 | 国产亚洲精品久久久久久青梅 | 黄色在线观看www | 日本一区二区黄色 | 一区二区三区三区在线 | 久久午夜精品人妻一区二区三区 | 久久色婷婷 | 欧美天堂视频 | 青青草在线观看视频 | 国产视频二 | 成人综合婷婷国产精品久久 | 欧美偷拍精品 | 婷婷看片 | 欧美性极品| 亚洲欧美日韩久久精品 | 亚洲欧美日韩精品久久 | 亚洲福利视频一区二区三区 | 成人小说亚洲一区二区三区 | 久热精品免费视频 | 久久久人妻无码一区二区 | www.久久久久 | 97精品人妻一区二区三区 | 一本大道东京热无码 | 中文字幕在线观看视频免费 | 久久r精品 | 男女性网站 | 中文字幕av网站 | 好紧好爽再浪一点视频 | 国产精品免费一区二区 | 欧美色图亚洲天堂 | 久久久久亚洲av成人人电影 | 国产精品无码久久久久成人app | 男人的网站在线观看 | 国产污在线观看 | 操欧美美女 | 色婷婷电影网 | 黄色激情在线观看 | 91精品播放 | av永久免费网站 | 丰满人妻翻云覆雨呻吟视频 | 国产成人精品免费网站 | 国产高潮呻吟久久 | 欧美69囗交视频 | 日韩欧美成人一区二区 | 91人人爽| 亚洲男人的天堂网站 | 亚洲第一成网站 | 午夜999 | 欧美色综合天天久久综合精品 | 91精品人妻一区二区三区蜜桃2 | 日韩一区二区三区视频在线观看 |