【发布时间】:2015-01-27 17:01:15
【问题描述】:
我正在开发一个战舰 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");
}
【问题讨论】:
-
srand(time(0))把它放在循环开始之前 -
程序输出arena[i]时,ascii字符1、2会显示为笑脸,1是白底黑字,2是黑底白字。 0 应该在屏幕上留下空白点。
-
您正在将二进制代码打印为字符。将它们打印为数字:
%d,你会看到你有你期望的数字。 -
天哪,我应该已经注意到了,为 derp 感到抱歉