大佬和小白玩 “井”字棋。也就是在九宫格中,只要任意行、列,或者任意对角线上面出现三个连续相同的棋子,就能获胜。请根据棋盘状态,判断当前输赢。
输入格式:
三行三列的字符元素,代表棋盘状态,字符元素用空格分开,代表当前棋盘,其中元素为D代表大佬玩家的棋子,为O表示没有棋子,为X代表小白玩家的棋子。
输出格式:
如果大佬获胜,输出“姜还是老的辣!”;
如果小白获胜,输出“长江后浪推前浪!”;
如果没有获胜,输出“再来一局!”。
输入样例:
D O X
O D X
X O D
输出样例:
在这里给出相应的输出。例如:
/*
D O X
O D X
X O D
*/
#include <stdio.h>
int main (void){
char str[5][20];
char map[5][5];
int hang,lie,cnt;
cnt=hang=lie=0;
//输入map
for(int i=0;i<3;i++){
for(int j=0;j<6;j++){
scanf("%c",&str[i][j]);
if(str[i][j]!=' '){
map[hang][lie++]=str[i][j];
if(str[i][j]=='O'){
cnt++;
}
}
}
hang++;
lie=0;
}
int index=0;
int flagD=0;
int flagX=0;
for(int i=0;i<3;i++){
if(map[i][0]=='D'){
if(map[i][1]=='D'){
if(map[i][2]=='D'){
printf("姜还是老的辣!");
return 0;
}
}
}
if(map[i][0]=='X'){
if(map[i][1]=='X'){
if(map[i][2]=='X'){
printf("长江后浪推前浪!");
return 0;
}
}
}
if(map[0][i]=='D'){
if(map[1][i]=='D'){
if(map[2][i]=='D'){
printf("姜还是老的辣!");
return 0;
}
}
}
if(map[0][i]=='X'){
if(map[1][i]=='X'){
if(map[2][i]=='X'){
printf("长江后浪推前浪!");
return 0;
}
}
}
if(map[0][0]=='D'){
if(map[1][1]=='D'){
if(map[2][2]=='D'){
printf("姜还是老的辣!");
return 0;
}
}
}
if(map[0][0]=='X'){
if(map[1][1]=='X'){
if(map[2][2]=='X'){
printf("长江后浪推前浪!");
return 0;
}
}
}
if(map[0][2]=='D'){
if(map[1][1]=='D'){
if(map[2][0]=='D'){
printf("姜还是老的辣!");
return 0;
}
}
}
if(map[0][2]=='X'){
if(map[1][1]=='X'){
if(map[2][0]=='X'){
printf("长江后浪推前浪!");
return 0;
}
}
}
}
printf("再来一局!");
}
姜还是老的辣!