题解 | #井字棋#
井字棋
https://www.nowcoder.com/practice/0375c1d206ef48a3894f72aa07b2fdde
#include <stdio.h> int main() { int i=0; int j=0; char arr[3][3]={0}; int state_k=0;//表示状态 int state_b=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%c",&arr[i][j]); getchar(); } } //判断行 for(i=0;i<3;i++) { if((arr[i][0]==arr[i][1])&&(arr[i][1]==arr[i][2])) { if(arr[i][0]=='K') { state_k=1; } else if(arr[i][0]=='B') { state_b=1; } } } //判断列 for(i=0;i<3;i++) { if((arr[0][i]==arr[1][i])&&(arr[1][i]==arr[2][i])) { if(arr[0][i]=='K') { state_k=1; } else if(arr[0][i]=='B') { state_b=1; } } } //判断斜行 if((arr[0][0]==arr[1][1]&&arr[1][1]==arr[2][2])||(arr[0][2]==arr[1][1]&&arr[1][1]==arr[2][0])) { if(arr[1][1]=='B') { state_b=1; } else if(arr[1][1]=='K') { state_k=1; } } if(state_k!=0&&state_b==0) { printf("KiKi wins!\n"); } else if(state_b!=0&&state_k==0) { printf("BoBo wins!\n"); } else { printf("No winner!\n"); } return 0; }