Skip to content

Instantly share code, notes, and snippets.

@kemchenj
Last active July 15, 2018 11:09
Show Gist options
  • Save kemchenj/455e2b5b4cdbe8bfc573a0b760ab5126 to your computer and use it in GitHub Desktop.
Save kemchenj/455e2b5b4cdbe8bfc573a0b760ab5126 to your computer and use it in GitHub Desktop.
//
// main.c
// jkasdfj
//
// Created by kemchenj on 2018/7/13.
// Copyright © 2018 kemchenj. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char *argv[]) {
const int size = 3;
int board[size][size];
int i, j;
int numOfX;
int numOfO;
int result = -1;
for (i = 0; i < size; i++) {
for (j = 0; j < size; j++) {
// 只会输入 0 跟 1
// 0 代表 O
// 1 代表 X
scanf("%d", &board[i][j]);
}
}
// 行
for (i = 0; i < size && result == -1; i++) {
numOfO = 0;
numOfX = 0;
for (j = 0; j < size; j++) {
if (board[i][j] == 1) {
numOfX++;
} else {
numOfO++;
}
}
if (numOfO == size) {
result = 0;
} else if (numOfX == size) {
result = 1;
}
}
// 列
for (j = 0; j < size && result == -1; j++) {
numOfO = numOfX = 0;
for (i = 0; i < size; i++) {
if (board[i][j] == 1) {
numOfX++;
} else {
numOfO++;
}
}
if (numOfO == size) {
result = 0;
} else if (numOfX == size) {
result = 1;
}
}
for (i = 0, j = 0; i < size && j < size && result == -1; i++, j++) {
numOfO = numOfX = 0;
if (board[i][j] == 1) {
numOfX++;
} else {
numOfO++;
}
if (numOfO == size) {
result = 0;
} else if (numOfX == size) {
result = 1;
}
}
for (i = 0, j = 2; i < size && j < size && result == -1; i++, j--) {
numOfO = numOfX = 0;
if (board[i][j] == 1) {
numOfX++;
} else {
numOfO++;
}
if (numOfO == size) {
result = 0;
} else if (numOfX == size) {
result = 1;
}
}
switch (result) {
case 0:
printf("O 赢");
break;
case 1:
printf("X 赢");
break;
case -1:
printf("平");
break;
default:
break;
}
return 0;
}
i \ j 0 1 2
0
1
2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment