题解 | #井字棋#

井字棋

https://www.nowcoder.com/practice/0375c1d206ef48a3894f72aa07b2fdde

#include <stdio.h>
#include <stdbool.h>

#define ROW 3
#define COL 3
int main() {
    char arr[ROW][COL] = {0};
    bool flag = false;
    // 输入棋子
    for (int i = 0; i < ROW; i++)
    {
        for (int j = 0; j < COL; j++)
        {
            scanf("%c", *(arr + i) + j);
            // 吸收换行符
            getchar();
        }
    }
    // 对角线
    if (arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2] && 'O' != arr[0][0])
        {
            if ('K' == arr[1][1])
            {
                flag = true;
                printf("KiKi wins!\n");
            }
            else
            {
                flag = true;
                printf("BoBo wins!\n");
            }
        }
        // 对角线
        else if (arr[1][1] == arr[0][2] && arr[0][2] == arr[2][0] && 'O' != arr[1][1])
        {
            if ('K' == arr[1][1])
            {
                flag = true;
                printf("KiKi wins!\n");
            }
            else
            {
                flag = true;
                printf("BoBo wins!\n");
            }
        }
    for (int i = 0; i < ROW; i++)
    {
        // 行相等
        if (arr[i][0] == arr[i][1] && arr[i][2] == arr[i][1] && 'O' != arr[i][0])
        {
            if ('K' == arr[i][0])
            {
                flag = true;
                printf("KiKi wins!\n");
                break;
            }
            else
            {
                flag = true;
                printf("BoBo wins!\n");
                break;
            }
        }
        // 列相等
        else if (arr[0][i] == arr[1][i] && arr[2][i] == arr[0][i] && 'O' != arr[0][i])
        {
            if ('K' == arr[0][i])
            {
                flag = true;
                printf("KiKi wins!\n");
                break;
            }
            else
            {
                flag = true;
                printf("BoBo wins!\n");
                break;
            }
        }
    }
    if (!flag)
    {
        printf("No winner!\n");
    }
    
    return 0;
}

全部评论

相关推荐

hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务