【问题标题】:C++ Random numbers 0 - 16 [duplicate]C++ 随机数 0 - 16 [重复]
【发布时间】:2015-01-09 23:04:12
【问题描述】:

我正在为班级制作一个刽子手游戏,我无法获取随机数。 每次我运行代码时,我都会得到相同的数字。不知道这里有什么问题,任何事情都会有所帮助。

string pickWord(){
    int random = rand() % 17;
    string word = ::wordList[random];
    cout << word << endl;
    return word;
} 

【问题讨论】:

    标签: c++ random


    【解决方案1】:

    你必须随时间随机播种,否则它总是一样的。

    看看这个:

    http://www.cplusplus.com/reference/cstdlib/srand/

    你的代码应该是这样的

    string pickWord(){
        srand (time(NULL));
        int random = rand() % 17;
        string word = ::wordList[random];
        cout << word << endl;
        return word;
    } 
    

    你还必须添加一个包含

    #include <time.h> 
    

    这样,随机将依赖于运行的时间,而不是编译时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 2017-05-20
      • 2015-01-08
      • 2010-12-10
      • 2012-12-17
      • 1970-01-01
      相关资源
      最近更新 更多