C++隨機數的用法

 學過別的高級語言的都知道,產生隨機數用的都是類似於random這樣的字符,c++也不例外,在C++中使用的是rand()函數,但是不同的是,如果在C++中只使用了例如

"int i;i=rand();"這樣,使用程序會發現每次得到的隨機數都是一樣的,據瞭解在C++中這樣做是爲了方便調試。如果要每次都長生不同的隨機數,我們則需要在C++中加上"srand(time(NULL));"這條語句,他的作用是以時間爲種子,產生隨機數(我們都知道時間是在不斷變化的,但兩次獲取隨機數要在1秒後,否則數值還是一樣),下面看個例子。
    該例子是:在1~100內生成一個隨機數,並指定一個數,顯示出該數在產生多少個數後出現。程序代碼如下:

#include <iostream>
#define fnum 56               //要找的數爲56

using namespace std;
int main()
{
  int num=0,j,k=0;
  int get_rand(); 
   srand(time(0));
   for(j=1;num!=fnum;j++,k++)          

  {
      num=get_rand();
    if(num<10)                 //右對齊
          cout<<" "<<num<<"  ";    
        else
          cout<<num<<"  ";
       
       
     if(j==15)                 //每行15個數
        {
          putchar('n');
          j=0;
        }
   }
    cout<<'n'<<"數字"<<fnum<<"已經找到,共生成了"<<k<<"個隨機數。"<<endl;

return 0;
}

int get_rand()
{
  int i;
  i=rand()%100+1;
  return i;   
}

 

用c++ 隨機函數產生30000個隨機整數

 

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main()
{
int i,k;
srand((unsigned)time(NULL));
for(i=0;i<30000;i++)
{
k=rand()%100+1;
printf("%d ", k );
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章