C ++随机函数制作笑脸

时间:2015-01-27 17:01:16

标签: c++ random

我正在研究战舰c ++程序。我正在测试我想要如何设置船只和水。我有一个数组,我使用for循环为数组内的每个int创建一个随机数。它产生的随机数是一个笑脸。

#include <iostream>
#include <cstdlib>
using namespace std;

int main(int argc, char *argv[]) {
    int picks = 0;
    char arena[25] = {};
    for(int i = 0; i != 24; i++) {
        srand(time(0));
        picks = rand() % 3;
        arena[i] = picks;
    }
    for(int i = 0; i != 24; i++)
    cout << arena[i];
    cout << endl;
    for(int i = 0; i != 24; i++) {
        if(arena[i] = 1)
            cout << "~";
        else if(arena[i] = 2)
            cout << "~";
        else if(arena[i] = 3)
            cout << "#";
    }
    cout << endl;

    system("PAUSE");
}

2 个答案:

答案 0 :(得分:3)

您正在生成介于0和2之间的值,并将它们分配给字符数组的元素,以便在打印出来时,带有这些代码的字符(其中显然是一个打印笑脸。目前还不清楚你真正想要的是什么,但是如果你希望为每个0值打印一个0,那么你可以打印(arena[i]+'0')代替(或者更好,正确格式化输出)正如其他人所建议的那样)。

答案 1 :(得分:1)

1.在循环前输入srand(time(NULL)) 2。picks = rand() % 3 ==&gt; picks = rand() % 3 + 1
3。if (arena[i] = 1) ==&gt; if (arena[i] == 1)