题解 | 井字棋
井字棋
https://www.nowcoder.com/practice/0375c1d206ef48a3894f72aa07b2fdde
#include <stdio.h> //标准输入输出函数头文件
int main()
{
char a[3][3]; //定义整型变量,保存用户输入的信息
//输入
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
//注意在%c前需要加空格键,当读取到非空白字符时写入,防止因为用户输入的回车键被当做字符写入数组出现问题
scanf(" %c",&a[i][j]);
}
}
//这里注意需要给字符变量初始化,因为当所以判断都不符合时ch为无值变量,无法进行比较
char ch='O'; //定义字符型变量
for(int i=0;i<3;i++)
{
//;利用if语句判断行
if(a[i][0]==a[i][1]&&a[i][1]==a[i][2]&&a[i][0]!='O')
{
ch=a[i][0];
//已有相连的三个字符,跳出循环
break;
}
//利用if语句判断列
else if(a[0][i]==a[1][i]&&a[1][i]==a[2][i]&&a[0][i]!='O')
{
ch=a[0][i];
//已有相连的三个字符,跳出循环
break;
}
}
//利用if语句判断对角线
if(a[0][0]==a[1][1]&&a[1][1]==a[2][2]&&a[0][0]!='O')
{
ch=a[0][0];
}
else if(a[0][2]==a[1][1]&&a[1][1]==a[2][0]&&a[0][2]!='O')
{
ch=a[0][2];
}
//利用if语句进行判断输出
if(ch=='K')
{
printf("KiKi wins!\n");
}
else if(ch=='B')
{
printf("BoBo wins!\n");
}
else
{
printf("No winner!\n");
}
return 0;
}

