做的井字棋结果判定,输出总是出错而且输出的是000,111 , 222这样的三个字符而非设计的0 ,1, 2
#include <stdio.h>
int main()
{
const int size = 3;
int board[size][size];
int i,j;
int result = -1;//-1是平局,0是O赢了,1是X赢了
for ( i=0; i<size; i++ ) {//输入棋子结果
for ( j=0; j<size; j++ ) {
scanf("%d", &board[i][j]);
}
}
for ( i=0; i<size ; i++ ) {
int x0=0, x1=0, x2=0, x3=0, o0=0, o1=0, o2=0, o3=0;
for ( j=0; j<size; j++ ) {//横线方向
if ( board[i][j] == 1 ) {
x0 ++;
} else {
o0 ++;
}
if ( board[j][i] == 1 ) {//竖线方向
x1 ++;
} else {
o1 ++;
}
if ( board[i][i] == 1 ) {//斜方向1
x2 ++;
} else {
o2 ++;
}
if ( board[i][size-1-i] == 1) {//斜方向2
x3 ++;
} else {
o3 ++;
}
}
if ( x0==size || x1==size || x2==size || x3==size ) {//X赢的判定
result = 1;
}
if ( o0==size || o1==size || o2==size || o3==size ) {//O赢的判定
result = 0;
}
printf("%d", result);//输出出结果
}
return 0;
}