【发布时间】:2016-05-26 10:38:35
【问题描述】:
我将一些随机数存储到二维数组中,但有些数字似乎在边/边框上。我不确定它有什么问题。我想要的是将所有随机数放在二维数组的边界内。
#include <stdio.h>
#include <stdlib.h>
#define ROW 9
#define COL 9
void gameboard(char box[ROW][COL])
{
int x,y;
for(x = 0; x < ROW; x++)
{
for(y = 0; y <COL; y++)
{
box[x][y] =' ';
}
}
for(x = 0; x < ROW; x++)
{
box[0][x]='#';
box[x][8]='#';
box[x][0]='#';
box[8][x]='#';
}
}
void rnum(char box[ROW][COL])
{
int x,r1,r2,r3,r4;
char r='1';
srand( (unsigned) time(NULL));
for(x=0;x<9;x++)
{
r1 = rand()%9;
r2 = rand()%9;
r3 = rand()%9;
r4 = rand()%9;
box[r1][r2]= r + x;
box[r3][r4]= r + x;
}
}
int main(void)
{
char box[ROW][COL];
char name[20];
int x,y,choice;
gameboard(box);
rnum(box);
for(x = 0; x < ROW; x++)
{
for(y = 0; y < COL; y++)
{
printf(" %c ",box[x][y]);
}
printf("\n\n");
}
rnum(box);
return 0;
}
这是输出:
【问题讨论】:
-
注意边界。不应覆盖任何元素
0或8,因为#符号已经存在。这是 rnum() 中的 for 循环: ` for(x=0;x -
太棒了!有用 !谢谢。
标签: c