#include<stdio.h>
#include<stdlib.h>
void print(char a[3][3],int x,int y)
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%2d |",a[i][j]);
}
printf("\n");
printf("---+---+---");
printf("\n");
}
}
char win(char a[3][3])
{
int i;
for(i=0;i<3;i++)
{
if ((a[i][0]==a[i][1]) && (a[i][1] == a[i][2]))
return a[i][0];
else if ((a[0][i] == a[1][i]) && (a[1][i] == a[2][i]) )
return a[0][i];
else if ((a[0][0] == a[1][1]) && (a[1][1] == a[2][2]) )
return a[1][1];
else if ((a[0][2] == a[1][1]) && (a[1][1] == a[2][0]) )
return a[1][1];
}
return 0;
}
void main()
{
char a[3][3]={'1','2','3','4','5','6','7','8','9'};
int i,j,n,k;
for(k=1;k<10;k++)
{
print(a,3,3);
printf("1-9代表九宫格中的位置,请输入1-9落子\n");
scanf("&d",&n);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(a[i][j]==n+48)
if(k%2!=0)
a[i][j]='o';
else
a[i][j]='x';
}
}
if ((win(a)) == 'o')
{
printf("玩家1赢\n");
break;
}
else if ((win(a)) == 'x')
{
printf("玩家2赢\n");
break;
}
fflush(stdin);
}
if(k==9)
printf("平局\n");
printf("game over\n");
}