C++随机函数制作笑脸

C++ Random Function making smiley faces

我正在研究战舰 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");
}

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

1.Put 循环前的 srand(time(NULL))
2.picks = rand() % 3 ==> picks = rand() % 3 + 1
3.if (arena[i] = 1) ==> if (arena[i] == 1)