井字棋 判断每行每列对角线

KiKi和BoBo玩 “井”字棋。也就是在九宫格中,只要任意行、列,或者任意对角线上面出现三个连续相同的棋子,就能获胜。请根据棋盘状态,判断当前输赢。

输入描述:

三行三列的字符元素,代表棋盘状态,字符元素用空格分开,代表当前棋盘,其中元素为K代表KiKi玩家的棋子,为O表示没有棋子,为B代表BoBo玩家的棋子。

输出描述:

如果KiKi获胜,输出“KiKi wins!”;
如果BoBo获胜,输出“BoBo wins!”;
如果没有获胜,输出“No winner!”。

示例1

输入:

K O B
O K B
B O K

输出:

KiKi wins!
#include <stdio.h>

int main()
{
	char arr[3][3]={0};
	int i=0,j=0;
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			scanf("%c ",&arr[i][j]); 
		}
    }
    //判断每一行 
    char flag='O';
	for(i=0;i<3;i++)
	{
		if(arr[i][0]==arr[i][1] && arr[i][1]==arr[i][2] && arr[i][0]!='O')
		{
			flag=arr[i][0]; //如果三个相等则取一个
			break;  //跳出判断列 
		}
    }
    //判断每一列 
	for(i=0;i<3;i++)
	{
		if(arr[0][i]==arr[1][i] && arr[1][i]==arr[2][i] && arr[0][i]!='O')
		{
			flag=arr[0][i]; //如果三个相等则取一个
			break; //跳出判断对角线 
		}
    }
    if(arr[0][0]==arr[1][1] && arr[1][1]==arr[2][2] && arr[1][1]!='O')
    {
    	flag=arr[1][1];
	}
	  if(arr[0][2]==arr[1][1] && arr[1][1]==arr[2][0] && arr[1][1]!='O')
    {
    	flag=arr[1][1];
	}
	if(flag=='K')
	{
		printf("KiKi wins!");
	}
		if(flag=='B')
	{
		printf("BoBo wins!");
	}	if(flag=='O')
	{
		printf("No winner!");
	}
   return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值