我正在研究战舰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 :(得分: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)