所以我使用 while 循环收到一条错误消息,我不知道为什么。它说它在 'matrix' 之前需要一个 ')' 。我是新手,所以它可能很容易解决。这个想法是重复 scanf 直到矩阵被 '10' 填充。这是代码:
int main()
{int matrix [3][3];
int xd;
int yd;
matrix [0][0]=0;
matrix [0][1]=0;
matrix [0][2]=0;
matrix [1][0]=1;
matrix [1][1]=1;
matrix [1][2]=0;
matrix [2][0]=0;
matrix [2][1]=0;
matrix [2][2]=0;
while
(matrix [0][0]!=0
matrix [0][1]!=10
matrix [0][2]!=10
matrix [1][0]!=10
matrix [1][1]!=10
matrix [1][2]!=10
matrix [2][0]!=10
matrix [2][1]!=10
matrix [2][2]!=10
){
printf("coordenadas de disparo x \n");
scanf("%d",&xd);
printf("coordenadas de disparo y \n");
scanf("%d",&yd);
printf(" coordenadas %d %d \n" , xd, yd);
/*ja usada*/
if (matrix [xd][yd] == 10)
{printf("invalido");}
/*agua*/
if (matrix [xd][yd] == 0)
{printf("-");
/*acerta*/
matrix [xd][yd] = 10 ;}
else printf("%d", matrix [xd][yd]);
matrix [xd][yd] = 10;}
}
答案 0 :(得分:0)
如上所述,您需要在条件之间添加逻辑运算符。
所以对于 or 运算符,代码看起来像这样。
while
(matrix [0][0]!=0 ||
matrix [0][1]!=10 ||
matrix [0][2]!=10 ||
matrix [1][0]!=10 ||
matrix [1][1]!=10 ||
matrix [1][2]!=10 ||
matrix [2][0]!=10 ||
matrix [2][1]!=10 ||
matrix [2][2]!=10
){
//...code
}
对于 and 运算符,它看起来像这样。
while
(matrix [0][0]!=0 &&
matrix [0][1]!=10 &&
matrix [0][2]!=10 &&
matrix [1][0]!=10 &&
matrix [1][1]!=10 &&
matrix [1][2]!=10 &&
matrix [2][0]!=10 &&
matrix [2][1]!=10 &&
matrix [2][2]!=10
){
//...code
}