2017-02-25 523 views
0

我不得不猜測數字遊戲的代碼,但我不知道如何生成隨機數。隨機函數只產生負數。如何生成1000和-1000 C++之間的隨機數?

的代碼,我到目前爲止有:

#include <iostream> 
#include <stdlib.h> 
#include <time.h> 

using namespace std; 

int main(){ 

    srand(time(NULL)); 

    int N=rand()%1000+-1000; 

    return 0; 

} 
+3

使用['std :: uniform_int_distribution'](http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution)? –

+0

當你從一個從0到999的隨機數中減去1000時,負數就會出現=) – hidefromkgb

回答

1

我認爲這應該工作,我從我的電腦,距離雖不能測試:

(rand()%(max-min))+min; 
1

的範圍[ 。-1000,1000]有2001個選項(假設您想包括兩個邊界需要由範圍的寬度modulu rand()的結果,而加/減一開始即:

int randomNumber = rand() % 2001 - 1000; 
2

我迄今爲止只能生成負數的代碼。

rand()%1000的最大值是999。如果您將-1000添加到它,它將始終爲負數。嘗試rand() % 2001 - 1000

相關問題