输入格式:
第一行输入一个整数t(1<=t<=1000)代表t组输入。接下来每组输入一个井字棋游戏局面。
#include <iostream>
using namespace std;
void Judgegame(char str[3][3])
{
int i,sum=0;
for(i=0;i<3;i++)
{
if(str[i][0]=='O')
{
if((str[i][0]==str[i][1])&&(str[i][1]==str[i][2]))
{
cout<<"yes"<<endl;
sum++;
break;
}
}
}
for(i=0;i<3;i++)
{
if(str[0][i]=='O')
{
if((str[0][i]==str[1][i])&&(str[i][1]==str[2][i]))
{
cout<<"yes"<<endl;
sum++;
break;
}
}
}
if(str[1][1]=='O')
{
if(((str[0][0]==str[1][1])&&(str[1][1]==str[2][2]))||((str[2][0]==str[1][1])&(str[1][1]==str[2][0])))
{
cout<<"yes"<<endl;
sum++;
}
}
if(sum==0)
{
cout<<"no"<<endl;
}
}
int main()
{
int t,i,j,k;
char a[3][3];
cin>>t;
for(i=1;i<=t;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<3;k++)
{
cin>>a[j][k];
}
}
Judgegame(a);
}
return 0;
}
在判断列的时候错了
if((str[0][i]==str[1][i])&&(str[i][1]==str[2][i]))
改成
if((str[0][i]==str[1][i])&&(str[1][i]==str[2][i]))
(str[i][1]改成str[1][i])