井字棋PTA

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

输入格式:

三行三列的字符元素,代表棋盘状态,字符元素用空格分开,代表当前棋盘,其中元素为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("再来一局!");
   }
姜还是老的辣!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值