#include
#include
char arr[3][3];
void print()
{
int i=0;
for(i=0;i<3;i++)
{
printf("%c|%c|%c|\n",arr[i][0],arr[i][1],arr[i][2]);
printf("_|_|_|\n");
}
}
void init_arr()
{
int i=0;
int j=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
arr[i][j]=‘ ‘;
}
}
}
void player()
{
int i=0;
int j=0;
printf("输入i,j:\n");
scanf("%d %d",&i,&j);
i--;
j--;
if (arr[i][j]!=‘ ‘)
{
printf("此格已输入,请重新输入i,j:\n");
player();
}
else
{
arr[i][j]=‘X‘;
}
}
void computer_move()
{
int i=0;
int j=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(arr[i][j]==‘ ‘)
{
arr[i][j]=‘0‘;
break;
}
}
break;
}
}
char win()
{
int i=0;
for(i=0;i<3;i++)
{
if((arr[i][0]==arr[i][1])&&
(arr[i][1]==arr[i][2]))
{
return arr[i][0];
}
}
for(i=0;i<3;i++)
{
if((arr[0][i]==arr[1][i])&&
(arr[1][i]==arr[2][i]))
{
return arr[0][i];
}
}
}
int main()
{
char done;
int i;
int j;
done=‘ ‘;
init_arr();
printf("棋盘游戏:\n");
do
{
print();
player();
done=win();
if(done!=‘ ‘)
{
break;
}
computer_move();
done=win();
}while(done==‘ ‘);
if(done==‘0‘)
{
printf("电脑赢\n");
}
else
{
printf("玩家赢\n");
}
print();
}
编写了五个函数,再用主函数调用
原文:http://10740184.blog.51cto.com/10730184/1704599