欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      用C語(yǔ)言的rand和srand產(chǎn)生偽隨機(jī)數(shù)的方法總結(jié)

      時(shí)間:2019-05-12 05:01:20下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《用C語(yǔ)言的rand和srand產(chǎn)生偽隨機(jī)數(shù)的方法總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《用C語(yǔ)言的rand和srand產(chǎn)生偽隨機(jī)數(shù)的方法總結(jié)》。

      第一篇:用C語(yǔ)言的rand和srand產(chǎn)生偽隨機(jī)數(shù)的方法總結(jié)

      標(biāo)準(zhǔn)庫(kù)(被包含于中)提供兩個(gè)幫助生成偽隨機(jī)數(shù)的函數(shù): 函數(shù)一:int rand(void);

      從srand(seed)中指定的seed開(kāi)始,返回一個(gè)[seed, RAND_MAX(0x7fff))間的隨機(jī)整數(shù)。函數(shù)二:void srand(unsigned seed);

      參數(shù)seed是rand()的種子,用來(lái)初始化rand()的起始值。可以認(rèn)為rand()在每次被調(diào)用的時(shí)候,它會(huì)查看:

      1)如果用戶在此之前調(diào)用過(guò)srand(seed),給seed指定了一個(gè)值,那么它會(huì)自動(dòng)調(diào)用srand(seed)一次來(lái)初始化它的起始值。

      2)如果用戶在此之前沒(méi)有調(diào)用過(guò)srand(seed),它會(huì)自動(dòng)調(diào)用srand(1)一次。根據(jù)上面的第一點(diǎn)我們可以得出:

      1)如果希望rand()在每次程序運(yùn)行時(shí)產(chǎn)生的值都不一樣,必須給srand(seed)中的seed一個(gè)變值,這個(gè)變值必須在每次程序運(yùn)行時(shí)都不一樣(比如到目前為止流逝的時(shí)間)。

      2)否則,如果給seed指定的是一個(gè)定值,那么每次程序運(yùn)行時(shí)rand()產(chǎn)生的值都會(huì)一樣,雖然這個(gè)值會(huì)是[seed, RAND_MAX(0x7fff))之間的一個(gè)隨機(jī)取得的值。

      3)如果在調(diào)用rand()之前沒(méi)有調(diào)用過(guò)srand(seed),效果將和調(diào)用了srand(1)再調(diào)用rand()一樣(1也是一個(gè)定值)。

      舉幾個(gè)例子,假設(shè)我們要取得0~6之間的隨機(jī)整數(shù)(不含6本身): 例一,不指定seed: for(int i=0;i<10;i++){ ran_num=rand()% 6;cout< //…

      srand((unsigned)time(0));for(int i=0;i<10;i++){ ran_num=rand()% 6;cout<

      time_t被定義為長(zhǎng)整型,它返回從1970年1月1日零時(shí)零分零秒到目前為止所經(jīng)過(guò)的時(shí)間,單位為秒。比如假設(shè)輸出: cout<

      要取得[a,b)之間的隨機(jī)整數(shù),使用(rand()%(b-a))+ a(結(jié)果值將含a不含b)。在a為0的情況下,簡(jiǎn)寫(xiě)為rand()% b。最后,關(guān)于偽隨機(jī)浮點(diǎn)數(shù):

      用rand()/ double(RAND_MAX)可以取得0~1之間的浮點(diǎn)數(shù)(注意,不同于整型時(shí)候的公式,是除以,不是求模),舉例: double ran_numf=0.0;srand((unsigned)time(0));for(int i=0;i<10;i++){ ran_numf = rand()/(double)(RAND_MAX);cout<

      rand()/(double)(RAND_MAX)改為 rand()/(double)(RAND_MAX/10)運(yùn)行結(jié)果為:7.19362,6.45775,…等10個(gè)1~10之間的浮點(diǎn)數(shù),每次結(jié)果都不同。至于100,1000的情況,如此類推。

      第二篇:c語(yǔ)言數(shù)組方法總結(jié)

      數(shù)組方法總結(jié)

      1.輸入元素的值:

      inti,a [10];

      for(i = 0;i < 9;i ++);

      a[i] = i;

      (1)正序排列:(2)倒序排列:

      for(i =0;i < 10;i ++)for(i = 9;i >= 0;i--)printf(“%d”, a[i]);printf(“%d”, a[i]);

      2.初始化元素的值:

      (1)在定義時(shí),將數(shù)組元素一次放在一對(duì)花括號(hào)里;

      eg: int a[10]={1,2,3,4,5,6,7,8,9,0};

      (2)可以只給一部分元素賦值:

      eg: int a[10]={1,3};

      (3)使數(shù)組全部元素為0:

      eg: int a[10]={0,0,0,0,0,0,0,0,0,0};或者 int a[10]={0};

      (4)在對(duì)全部元素賦初值的時(shí)候,由于元素?cái)?shù)已經(jīng)確定,因此,可以不指定數(shù)組長(zhǎng)度。(注:數(shù)組長(zhǎng)度與提供初值個(gè)數(shù)不相同時(shí),則長(zhǎng)度不可以省略。)

      3.巧妙地將兩個(gè)元素列在一個(gè)循環(huán)中輸出:(用for循環(huán)處理fobonacci數(shù)列); eg:int f[20]={1,1};

      for(i=2;i<20;i++)

      f[i]=f[i-1]+f[i-2];

      4. 數(shù)列Fobonacci數(shù)列核心:

      int f[20]={1,1};

      for(i=2;i<20;i++)

      f[i]=f[i-1]+f[i-2];

      5.換行操作:

      for(i=0;i<=20;i++)/*當(dāng)然也可以在for循環(huán)中處理,直接將{if(i%5= =0)printf(“n”);if(i%5= =0)printf(“n”);插入換行*/Printf(“%12ld”,f[i]);

      }

      6.起泡法:

      int a[10];

      for(j=0;j<9;j++)/*進(jìn)行n-1趟比較*/

      for(i=0;i<9-j;i++)/*在j趟比較中,比較n-1次*/

      if(a[i]>a[i+i])/*由小到大排列,if(a[i]

      7.初始化二維數(shù)組:

      ? 分行給二維數(shù)組賦初值;

      ? 將所有的元素都寫(xiě)在一個(gè)花括號(hào)里;

      ? 對(duì)部分元素賦值:

      1)int a[3][3]={{3},{5},{9}};只講0列元素賦值

      2)int a[3][3]={{1}, {0,6},{0,0,11}};對(duì)部分元素賦值,對(duì)非0元素少使用方便

      3)int a[3][3]={{1}, {5,6}};只對(duì)幾行元素賦值

      4)int a[3][3]={{1}, {},{9}};對(duì)第二行元素賦值

      ? 對(duì)全部元素賦值可以省略一維長(zhǎng)度:

      ? 對(duì)部分元素賦初值,在省略一位長(zhǎng)度時(shí),應(yīng)分行賦值:

      8.二維數(shù)組的輸入輸出:

      ? 輸入:直接定義

      ? 輸出:

      for(i=0;i<=2;i++)

      {for(j=0;j<=1;j++)

      printf(“%5d”,b[i][j]);

      printf(“n”);

      }

      9.二維數(shù)組的行列轉(zhuǎn)換:

      b[j][i]=a[i][j];

      10.數(shù)組中求最大值并輸出行列號(hào):

      Eg:inti,row=0,colum=0,max;

      inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

      max=a[0][0];

      for(i=0;i<=2;i++)

      for(j=0;j<=3;j++)

      if(a[i][j]>max)

      {max=a[i][j];

      row=i;

      colum=j;}

      11.字符數(shù)組的初始化方法:

      ? 逐個(gè)字符初始化:

      eg:char c[10]={?I?, ??, ?a?, ?m?, ??, ?h?, ?a?, ?p?, ?p?, ?y?};

      1)在定義字符數(shù)組時(shí),不初始化,則數(shù)組中的各元素的之不可預(yù)料;

      2)如果花括號(hào)中提供的初值個(gè)數(shù)(即字符個(gè)數(shù))大于數(shù)組的長(zhǎng)度,則按語(yǔ)法錯(cuò)誤

      處理;

      3)如果花括號(hào)中提供的初值個(gè)數(shù)(即字符個(gè)數(shù))小于數(shù)組的長(zhǎng)度,其余元素自動(dòng)

      定為空字符即(?