1. 程式人生 > >c++生成隨機數

c++生成隨機數

b-s ron 需要 end nbsp rand int stream 默認

生成一個隨機數需要rand()函數來獲得隨機整數,使用rand()函數需要添加頭文件cstdlib。rand()生成的最大數由平臺決定的常輸,在vc++中最大數為32767。

rand()函數生成的是偽隨機數。即每次在同一個系統上執行這個函數,rand()函數生成同一序列的數(cout<<rand()<<endl<<rand()<<endl<<rand()<<endl;)因為rand()函數的算法使用一個叫種子的值來控制生成的數字,默認情況下,種子值為1。改變種子的值隨機數也會改變,srand(seed)函數改變種子的值,為確保每一次種子值不一樣,可以使用time(0)。time(0),返回格林尼治時間1970年1月1號00:00:00到現在的秒數。

顯示一個隨機種子生成的隨記整數,strand(time(0)); cout<<rand()<<endl;

例如:未獲得一個0~9的隨記整數

#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main()
{
srand(time(0));
int a = rand() % 10;
int b = rand() % 10;
if (a < b)
{
int c = a;
a = b;
b = c;
}
cout << "what is" << a << "-" << b << "?"<<endl;
int answer;
cin >> answer;
if (a - b == answer)
cout << "you are cprrect" << endl;
else
cout << "your answer is wrong" <<endl<< a << "-" << b << "should be" << (a - b) << endl;
return 0;
}

c++生成隨機數