#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int random_Number();
int random_One();
int main(){
cout << "You have : " << random_Number() << endl;
cout << "The dealer has : " << random_Number() << endl;
}
int random_Number(){
int v1, v2;
srand((unsigned)time(NULL));
v1 = rand() % 10 + 1;
v2 = rand() % 10 + 1;
return v1 + v2;
}
如果我理解正确,srand()是一个种子,每次运行程序都会改变,因为时间会发生变化,因此srand()
也是如此。但是,由于程序启动后时间不会改变,程序将继续使用相同的种子,从而反复生成相同的数字。
所以,如果我希望我的函数random_Number
每次调用时都生成一个新的随机数,那么我还必须更改种子。我假设你需要将你的种子设置为别的而不是时间,但我不知道还有什么?你不能循环种子有点自相矛盾,因为每次迭代需要一个随机数 - 这正是我的问题。
有更好的方法吗?如果没有,你会如何更改种子,以便每次调用函数时它都会变化?