青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

唐吉訶德

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  5 Posts :: 75 Stories :: 3 Comments :: 0 Trackbacks

常用鏈接

留言簿(2)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

 

大家都知道C語(yǔ)言中的隨機(jī)函數(shù)random,可是random函數(shù)并不是ANSI C標(biāo)準(zhǔn),所以說(shuō),random函數(shù)不能在gcc,vc等編譯器下編
譯通過(guò)。那么怎么實(shí)現(xiàn)VC語(yǔ)言中的隨機(jī)函數(shù)呢?

其實(shí),除了random函數(shù),還有一個(gè)rand函數(shù),這個(gè)函數(shù)也是一個(gè)隨機(jī)函數(shù),他可以產(chǎn)生從0到rand_max(32767)的隨機(jī)數(shù)。

 

#include<stdio.h>
#include
<stdlib.h>

int main()

   
int k; 
   k 
= rand();
   printf(
"%d\\n", k);
   
return 0;
}
//main

大家可以把以上的代碼編譯運(yùn)行一下,發(fā)現(xiàn)他的確產(chǎn)生隨機(jī)數(shù)了,但是你會(huì)發(fā)現(xiàn),每次運(yùn)行程序產(chǎn)生的隨機(jī)數(shù)都是一樣的,不過(guò)你在程序里加上for循環(huán),每次產(chǎn)生的數(shù)不一樣,但是,如果再運(yùn)行這個(gè)程序,它產(chǎn)生的數(shù)據(jù)卻都是相同的。

那么如何寫(xiě)一個(gè)程序,讓它每次運(yùn)行時(shí)產(chǎn)生的隨機(jī)數(shù)都不一樣呢? 請(qǐng)看下面的例子:

#include <stdlib.h>
#include 
<stdio.h>
#include 
<time.h>
#include
<iostream>
using namespace std;
int main(void)
{
   
int i;
   time_t t;
   srand((unsigned) time(
&t));
  cout
<<"Ten random numbers from 0 to 99\n\n";
   
for(i=0; i<10; i++)
       printf(
"%d\n", rand() % 100);
   
return 0;
}

這時(shí)運(yùn)行程序,會(huì)發(fā)現(xiàn)每次產(chǎn)生的隨機(jī)數(shù)都不一樣。

那么為什么第一個(gè)程序一樣而第二個(gè)程序一樣呢?

第二個(gè)程序用到了一個(gè)新的函數(shù)srand

這個(gè)函數(shù)是給隨機(jī)數(shù)產(chǎn)生一個(gè)隨機(jī)種子(seed),函數(shù)原型是srand( (unsigned)time( NULL ) );


time的值每時(shí)每刻都不同。所以種子不同,所以,產(chǎn)生的隨機(jī)數(shù)也不同。

所以說(shuō),要想產(chǎn)生不同的隨機(jī)數(shù),在使用rand之前需要先調(diào)用srand

srand和rand函數(shù)都包含在stdlib.h的頭文件里。

由于rand產(chǎn)生的隨機(jī)數(shù)是從0到rand_max的,而rand_max(32767)是一個(gè)很大的數(shù),那么如何產(chǎn)生從X~Y的數(shù)呢?

從X到Y(jié),有Y-X+1個(gè)數(shù),所以要產(chǎn)生從X到Y(jié)的數(shù),只需要這樣寫(xiě):

k = rand() % (Y - X + 1) +X;

這樣,就可以產(chǎn)生你想要的任何范圍內(nèi)的隨機(jī)數(shù)了。
問(wèn)題:如何生成K個(gè)小于N并且互不重復(fù)的整數(shù)

一.首先對(duì)于c++的隨機(jī)函數(shù)我們要有所了解,這里就不累贅了,請(qǐng)讀者自行g(shù)oogle之,
我們要用到的有
1. void srand(unsigned int_seed)函數(shù)產(chǎn)生一個(gè)以當(dāng)前時(shí)間開(kāi)始的隨機(jī)種子
  srand(unsigned(time(NULL))),必須放在生成隨機(jī)數(shù)前
2.int rand()函數(shù),隨機(jī)產(chǎn)生一整數(shù)
   rand()%MAX 產(chǎn)生[0,MAX)的整數(shù)
   a+rand()%(b-a+1) 產(chǎn)生[a,b]之間的整數(shù)
3.需要頭文件#include<time.h>

#include<iostream>
using namespace std;
#include
<time.h>
#define N 100
#define K 20

int x[N];
void swap(int i,int j)
{
  
int temp=x[i];
  x[i]
=x[j];
  x[j]
=temp;
}

int main()
{
    
int i;
    
for(i=0;i<N;i++)
        x[i]
=i;
    srand(unsigned(time(NULL)));
    
for(i=0;i<K;i++){
        swap(i,i
+rand()%(N-i));
        cout
<<x[i]<<" ";
    }

    
    
return 0;
}


二.考慮如何讓數(shù)據(jù)不重復(fù) 
  看代碼吧。。學(xué)習(xí)下方法
首先搞個(gè)一絕沒(méi)有重復(fù)數(shù)據(jù)的數(shù)組,就是x[i]=i;
此時(shí)注意那個(gè)swap函數(shù),每次生成的隨機(jī)數(shù)作為數(shù)組下標(biāo)去取數(shù),然后交換,這就保證了x這個(gè)數(shù)組絕不會(huì)有重復(fù)的數(shù)出現(xiàn)。
絕了?。?/font>

posted on 2010-05-02 11:10 心羽 閱讀(6985) 評(píng)論(1)  編輯 收藏 引用 所屬分類: C/C++

Feedback

# re: C/C++/VC隨機(jī)數(shù)總結(jié) 2012-03-28 17:12 游客
for(i=0;i<K;i++){
swap(i,i+rand()%(N-i));
cout<<x[i]<<" ";
}
這段代碼不嚴(yán)謹(jǐn)!正確如下:
for(i=0;i<K;i++){
swap(i,i+rand()%(N-i));
}
for(i=0;i<K;i++){
cout<<x[i]<<" ";
}
  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产aⅴ天堂久久| 久久精品免费播放| 欧美一区网站| 国产一区视频在线观看免费| 欧美伊人久久久久久久久影院 | 亚洲第一级黄色片| 91久久视频| 欧美日韩国产成人精品| 亚洲午夜av电影| 久久伊人亚洲| 在线亚洲成人| 国产字幕视频一区二区| 欧美va亚洲va日韩∨a综合色| 亚洲国产高潮在线观看| 正在播放亚洲一区| 国产一区二区日韩| 欧美久久久久久久久| 亚洲天堂av综合网| 欧美成人免费播放| 亚洲一二三区在线观看| 黑人巨大精品欧美黑白配亚洲| 欧美二区乱c少妇| 亚洲欧美日韩成人| 亚洲欧洲一区二区三区久久| 欧美在线观看你懂的| 亚洲片国产一区一级在线观看| 国产精品久久久久久福利一牛影视| 久久久久国产精品人| 99伊人成综合| 免费人成网站在线观看欧美高清| 亚洲视频成人| 在线成人中文字幕| 国产精品入口夜色视频大尺度| 免费不卡在线观看av| 亚洲一区二区三区午夜| 亚洲欧洲一区二区三区| 久久女同精品一区二区| 亚洲伊人久久综合| 亚洲精品国产精品久久清纯直播| 国产欧美日本一区二区三区| 欧美极品在线视频| 久久一区二区三区超碰国产精品| 亚洲主播在线播放| 最新日韩av| 欧美大片一区二区| 久久精品视频在线免费观看| 亚洲小说区图片区| 亚洲国产婷婷| 伊人精品成人久久综合软件| 国产精品成人一区二区网站软件| 免费久久久一本精品久久区| 欧美一区激情视频在线观看| 亚洲性色视频| 99精品99| av成人免费在线| 亚洲人线精品午夜| 亚洲欧洲精品一区二区精品久久久| 久久综合色婷婷| 久久久久免费视频| 久久精品亚洲一区二区三区浴池| 亚洲欧美日韩在线| 亚洲一区在线直播| 亚洲天堂免费观看| 亚洲婷婷综合色高清在线| 一本色道久久加勒比88综合| 亚洲乱码国产乱码精品精 | 亚洲成人在线视频播放| 久久欧美中文字幕| 久久久人人人| 裸体歌舞表演一区二区| 美女在线一区二区| 另类av导航| 欧美不卡视频| 欧美激情日韩| 亚洲区免费影片| 亚洲乱码久久| 亚洲视频在线免费观看| 亚洲一区二区精品在线观看| 亚洲欧美春色| 久久爱另类一区二区小说| 久久精品国产久精国产一老狼 | 亚洲高清不卡av| 亚洲高清资源| 日韩视频在线一区二区| 在线亚洲自拍| 校园激情久久| 久久婷婷国产综合精品青草 | 亚洲电影免费在线观看| 91久久在线| 一区二区三区视频在线看| 亚洲一区亚洲二区| 久久久久久久波多野高潮日日| 久久久一区二区三区| 欧美国产精品劲爆| 一本色道久久综合亚洲二区三区| 亚洲性av在线| 另类激情亚洲| 国产精品大片wwwwww| 国产日韩欧美在线一区| 伊人久久亚洲影院| 亚洲深夜激情| 久久综合亚洲社区| 99这里只有精品| 欧美中在线观看| 欧美日韩国产成人在线观看| 国产九区一区在线| 亚洲国产一成人久久精品| 亚洲性人人天天夜夜摸| 久久久久久**毛片大全| 91久久夜色精品国产网站| 午夜精品久久久久久久久久久久久| 久久久久久尹人网香蕉| 欧美三级网页| 在线看无码的免费网站| 亚洲一区二区免费在线| 麻豆精品在线视频| 99在线精品视频| 久久在线精品| 国产女主播一区二区三区| 亚洲精品一区二区三区福利| 午夜在线一区| 亚洲精品在线一区二区| 久久精品女人| 国产精品久久久久久久久免费樱桃 | 日韩视频在线免费| 久久裸体艺术| 亚洲精品中文字| 久久视频这里只有精品| 国产精品久久久999| 亚洲黑丝在线| 久久久久国产精品厨房| 在线亚洲欧美视频| 欧美极品一区二区三区| 在线观看欧美日韩国产| 欧美在线综合视频| 一区二区久久| 欧美日韩国产探花| 亚洲精品国产拍免费91在线| 久久性色av| 久久超碰97人人做人人爱| 国产精品第一区| 在线亚洲一区二区| 亚洲国产精品成人综合| 久久一区二区三区四区五区| 国产午夜精品久久| 欧美一级大片在线观看| 一本综合精品| 欧美日韩一区二区三区在线| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲激情精品| 噜噜噜躁狠狠躁狠狠精品视频| 国产亚洲成年网址在线观看| 香港久久久电影| 亚洲欧美国产日韩天堂区| 欧美午夜精品久久久久久孕妇| 一本综合精品| 日韩一区二区高清| 欧美日韩国产免费观看| 一区二区三区日韩| 制服丝袜亚洲播放| 欧美午夜a级限制福利片| 一区二区av在线| 夜夜嗨一区二区三区| 欧美午夜一区| 欧美一区二区三区播放老司机| 亚洲影院一区| 韩国av一区二区| 免费观看亚洲视频大全| 久久综合久色欧美综合狠狠| 亚洲高清不卡在线| 亚洲国产天堂久久综合网| 欧美国产先锋| 亚洲永久视频| 亚洲欧美国产高清| 国产永久精品大片wwwapp| 久久噜噜噜精品国产亚洲综合| 久久久久久综合| 亚洲精品午夜| 在线亚洲免费| 黄色av日韩| 91久久午夜| 国产美女扒开尿口久久久| 久久久久久穴| 欧美高清一区二区| 亚洲女同在线| 久久激情一区| 日韩一级黄色大片| 亚洲一区视频在线观看视频| 国模大胆一区二区三区| 91久久精品国产91性色tv| 欧美系列电影免费观看| 久久久精品国产免费观看同学| 蜜桃av久久久亚洲精品| 亚洲视频中文字幕| 久久国产精彩视频| 亚洲免费成人av电影| 欧美一级片在线播放| 亚洲精品一区二区网址 | 性色一区二区| 亚洲人成在线免费观看|