#include <stdio.h>

int main(){
char a[3][3];
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
scanf("%c",&a[i][j]);
getchar();
}
// scanf("\n");
}
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
printf("%c ",a[i][j]);
}
printf("\n");
} int countX = 0,countO = 0; for (int i = 0; i < 3; ++i) {
countO = countX = 0;
for (int j = 0; j < 3; ++j) {
if(a[i][j] == '*'){
countX++;
}else if(a[i][j] == 'O'){
countO++;
}
}
// printf("%d %d\n",countX,countO);
// printf("first\n");
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
} for (int i = 0; i < 3; ++i) {
countO = countX = 0;
for (int j = 0; j < 3; ++j) {
if(a[j][i] == '*'){
countX++;
}else if(a[j][i] == 'O'){
countO++;
}
}
// printf("second\n");
// printf("%d %d\n",countX,countO);
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
} for (int i = 0,countO = countX = 0; i < 3; ++i) {
if(a[i][i] == '*'){
countX++;
}else if(a[i][i] == 'O'){
countO++;
}
// printf("third\n");
// printf("%d %d\n",countX,countO);
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
} for (int i = 0,countO = countX = 0; i < 3; ++i) {
if(a[i][2-i] == '*'){
countX++;
}else if(a[i][2-i] == 'O'){
countO++;
}
// printf("fourth\n");
// printf("%d %d\n",countX,countO);
if(countO == 3){
printf("O win\n");
return 0;
}else if (countX == 3){
printf("X win\n");
return 0;
}
} return 0;
}

井字棋判断输赢C的更多相关文章

  1. [C++] 井字棋游戏源码

    TicTac.h #define EX 1 //该点左鼠标 #define OH 2 //该点右鼠标 class CMyApp : public CWinApp { public: virtual B ...

  2. [游戏学习22] MFC 井字棋 双人对战

    >_<:太多啦,感觉用英语说的太慢啦,没想到一年做的东西竟然这么多.....接下来要加速啦! >_<:注意这里必须用MFC和前面的Win32不一样啦! >_<:这也 ...

  3. JavaScript写的一个带AI的井字棋

    最近有一门课结束了,需要做一个井字棋的游戏,我用JavaScript写了一个.首先界面应该问题不大,用html稍微写一下就可以.主要是人机对弈时的ai算法,如何使电脑方聪明起来,是值得思考一下的.开始 ...

  4. python3 井字棋 GUI - 人机对战、机器对战 (threading、tkinter库)

    python3 井字棋 GUI - 人机对战.机器对战 功能 GUI界面 人机对战(可选择机器先走) 机器对战(50局) 流程图 内核 棋盘 [0][1][2] [3][4][5] [6][7][8] ...

  5. 使用 Vue.js 改写 React 的官方教程井字棋

    React 的官方教程井字棋很好的引导初学者一步步走进 React 的世界,我想类似的教程对 Vue.js 的初学者应该也会有启发,于是使用 Vue.js 进行了改写 可以先查看最终的结果,尝试点击体 ...

  6. 用C语言实现井字棋(人人/AI人机)--完结版

    目录 用C语言实现井字棋(人人/AI人机)--完结版 BUG与优化3: 1. 修改了step的计算方法,每个玩家玩完就加一次step 2. 改变了电脑下棋的逻辑,每个玩家玩完之后都跳过这次循环 源码: ...

  7. [CareerCup] 17.2 Tic Tac Toe 井字棋游戏

    17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...

  8. 程序设计入门—Java语言 第五周编程题 2井字棋(5分)

    2 井字棋(5分) 题目内容: 嗯,就是视频里说的那个井字棋.视频里说了它的基本思路,现在,需要你把它全部实现出来啦. 你的程序先要读入一个整数n,范围是[3,100],这表示井字棋棋盘的边长.比如n ...

  9. python 井字棋(Tic Tac Toe)

    说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...

  10. python 游戏(井字棋)

    1. 游戏思路和流程图 实现功能,现实生活中的井字棋玩法 游戏流程图 2. 使用模块和游戏提示 import random def game_info(): print('欢迎来到井字棋游戏') pr ...

随机推荐

  1. usb 2.0枚举过程

    device枚举过程: hub枚举过程:

  2. C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转)

    前言 多线程刷新界面主要用到多线程,委托,线程安全.事件等一系列高难度的C#操作. 1.使用timer控件对要刷新的控件进行定时刷新 对刷新频率要求不高的时候,可以使用该方法. 2.刷新UI控件 在开 ...

  3. spring boot2 jpa分页查询百万级数据内存泄漏

    分页查询百万级数据,查询处理过程中发现内存一直飙升,最终处理程序会挂掉,通过jvisualvm可以发现频繁ygc 和fgc ,另外通过 jmap -histo:live ${pid} 命令可以看到jp ...

  4. 将pb模型参数提取转成torch模型

    1 import tensorflow as tf 2 import onnx 3 import onnxsim 4 import numpy as np 5 import torch 6 from ...

  5. rxjs笔记(未完成)

    首先是 Observable 和promise的区别, 1返回值个数,Observable 可以返回0到无数个值. 2.Promise主动推送,控制着"值"何时被 "推送 ...

  6. TCP连接connect函数返回错误

    如果是 TCP 套接字,那么调用 connect 函数将激发 TCP 的三次握手过程,而且仅在连接建立成功或出错时才返回.其中出错返回可能有以下几种情况: 三次握手无法建立,客户端发出的 SYN 包没 ...

  7. 2019-2020-1 20199318《Linux内核原理与分析》第八周作业

    第7章 可执行程序工作原理 一.学习笔记 1.ELF 2.程序编译 3.连接与库 二.试验记录 1.开始先更新内核,再用test_exec.c将test.c覆盖掉 2.test.c文件中增加了exec ...

  8. laravel qq第三方登录

    QQ互联官网 首先申请成为开发者获取到后面需要的 client_id redirect_uri client_secret 文档资料/SDK及资源下载/SDK下载/PHP SDK 下载下来修改文件修改 ...

  9. deployment.yml参考

    apiVersion: apps/v1kind: Deploymentmetadata: labels: com.xx.service: xxxxxxxxxxxxx name: xxxxxxxxxxx ...

  10. 2022-3-18内部群每日三题-清辉PMP

    1.在评估项目活动现状的会议中,团队发现存在一些影响可交付成果的风险.项目经理应该怎么做? A.跟踪已发现的风险,识别和分析新风险,并评估整个项目的风险过程有效性 B.记录风险管理信息用于经验教训 C ...