tic tac toe (井子棋)​​

#include <stdio.h>
int main()
{    int winer=-1;  //-1(平局) 0(圈圈赢) 1(叉叉赢)const int size=3;//定义3*3的二维数组读入棋盘int a[size][size]={0};int i,t;printf("请输入棋盘(圈圈==0 叉叉==1):\n");for(i=0; i<size; i++){for(t=0; t<size; t++){scanf("%d",&a[i][t]);}}//二维数组行、列同时遍历,a[i][t]浮标i,t交换
//遍历行时,浮标i定t动,遍历列时,浮标t定,i动int sumrowoo,sumrowxx,sumlineoo,sumlinexx; //行圈圈,行叉叉,列圈圈,列叉叉for(i=0; i<size && winer==-1; i++){sumrowoo=sumrowxx=sumlineoo=sumlinexx=0;for(t=0; t<size; t++){if( a[i][t]==0 ){  //列sumrowoo++;         }else{sumrowxx++;}if( a[t][i]==0 ){  //行sumlineoo++;}else{sumlinexx++;}}if(sumrowoo == 3 || sumlineoo == 3){winer=0;}if(sumrowxx == 3 || sumlinexx == 3){winer=1;}}int sumoo,sumxx;if( winer == -1 ){  sumoo=sumxx=0; //遍历对角线  \00 11 22 for(i=0; i<size; i++){if(a[i][i] == 0){sumoo+=1;}else{sumxx+=1;}}  if(sumoo==3){    winer=0;}else if(sumxx==3){winer=1;}}if( winer == -1 ){sumoo=sumxx=0;//遍历对角线  \02 11 20t=2;for(i=0; i<size;i++){if(a[i][t--] == 0){sumoo+=1;}else{sumxx+=1;}}if(sumoo==3){    winer=0;}else if(sumxx==3){winer=1;}}//    输出游戏结果printf("你输入的棋盘为:\n");printf(" ______________\n");printf("| %d | %d | %d |\n",a[0][0],a[0][1],a[0][2]);printf(" ______________\n");printf("| %d | %d | %d |\n",a[1][0],a[1][1],a[1][2]);printf(" ______________\n");printf("| %d | %d | %d |\n",a[2][0],a[2][1],a[2][2]);if(winer == 0){printf("圈圈赢\n");}else if(winer == 1){printf("叉叉赢\n");}else{printf("平局\n");}return 0;
}

编译

c语言用二维数组遍历 “tic tac toe“ 输出游戏结果相关推荐

  1. 【C语言】二维数组遍历的3种方式

    #include <math.h> #include <stdio.h> #include <stdlib.h>#define ROW 2 #define COL ...

  2. C语言 二维数组遍历 - C语言零基础入门教程

    目录 一.计算一维数组长度 二.计算二维数组长度 1.二维数组行数 2.二维数组列数 3.二维数组的元素个数 = 二维数组行数 * 二维数组列数 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C ...

  3. 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组遍历 | 二维数组排序 )

    文章目录 一.二维数组 1.二维数组声明及初始化 2.二维数组遍历 3.二维数组排序 二.完整代码示例 一.二维数组 前几篇博客中 , 介绍的是指针数组 ; 指针数组 的 结构特征 是 , 数组中的每 ...

  4. 062是c语言常量吗,C语言ch062二维数组.pptx

    <C语言ch062二维数组.pptx>由会员分享,可在线阅读,更多相关<C语言ch062二维数组.pptx(33页珍藏版)>请在人人文库网上搜索. 1.2020/11/11,1 ...

  5. c语言用二维数组打印空心菱形,java杨辉三角和空心菱形(二维数组篇)

    一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...

  6. go语言定义二维数组

    使用go语言二维数组 go语言不用管理内存,很多地方使用起来确实很方便,但是在算法方面确实没有C++优秀,特别是缺少像STL一样优秀模板,定义一个二维数组需要进行如下复杂的操作: go语言的二维数组定 ...

  7. c语言调用二维数组作为函数参数传递,C++ 二维数组作为形参传递使用实例

    在线代码编辑器: http://codepad.org/ 1.*指针 void display(int *arr, const int row, const int col) { for(int i= ...

  8. java二维数组水平翻转,C 语言 利用二维数组实现对输入的数组进行翻转

    C 语言 利用二维数组实现对输入的数组进行翻转(帮助理解对图像翻转编辑原理) /* ?输入几行几列数字和翻转方式,如: 3 4 0即代表3行4列,左右翻转: 6 5 1即代表6行5列,上下翻转. 输入 ...

  9. Java二维数组谷电,java二维数组遍历的2种代码

    二维数组遍历: 思想: 1.先将二维数组中所有的元素拿到 2.再将二维数组中每个元素进行遍历,相当于就是在遍历一个一维数组 第一种方法:双重for循环 //遍历二维数组 public class Tr ...

  10. C语言汇总学生成绩,c语言用二维数组统计学生成绩.doc

    c语言用二维数组统计学生成绩 # include /*定义一个求每门课平均成绩的函数AverageCourse 它的形参一个是二维数组,用来传递学生成绩: 一个是指针变量(数组名),存放每门课的平均成 ...

最新文章

  1. mysql x64界面配置版下载_MySQL下载安装、配置与使用(win7x64)
  2. 数模笔记_多变量最优化计算之随机搜索算法及建模案例
  3. OpenCV Mat 类型定义和赋值
  4. MySQL计算两个日期相差的天数、月数、年数
  5. 免费「模拟面试」福利反馈连载(20180128期)
  6. easyui select 默认选中指定值
  7. wps里为什么没有华文楷体_是谁动了我的字体?为什么Word或PPT换台电脑打开字体就变了呢?...
  8. 看完这篇,你也可以实现一个360度全景插件
  9. 三星时差定位算法 matlab,三星时差定位,tri-satellites geo-location using TDOA,音标,读音,翻译,英文例句,英语词典...
  10. 订单超过 7 天不允许退货
  11. 【文献阅读】医学图像分割中的loss函数选择-Loss odyssey in medical image segmentation loss
  12. 智能合约审计之DDOS概述
  13. 江礼坤:详解资源合作推广
  14. ubuntu18.04 搭建ffmpeg踩坑
  15. 量化交易下怎么做波段?
  16. Oracle使用json后乱码,nodejs读取本地中文json文件出现乱码解决方法
  17. 腾讯手游助手android文件夹,腾讯手游助手中找到文件安装目录位置的详细操作方法...
  18. 极客大学算法课-01
  19. 《游戏人工智能编程案例精粹》笔记 (一)
  20. 创业开花店一年多的感想-逐步完成了一套完整的鲜花商城系统,包含前端、后端、移动端、小程序、公众号

热门文章

  1. 爸妈上班却顶着凛冽的寒风骑着自行车
  2. 评副高考计算机英语能加分吗,19类人员评副高以下职称时不用再考外语
  3. Ubuntu14.04显示隐藏文件
  4. 佳能打印机手机显示未连接服务器,佳能打印机出现服务器设置密码
  5. 腾达fh307没有显示服务器名,腾达(Tenda)FH307路由器无线WiFi密码和名称设置 | 192路由网...
  6. 创业公司该如何设计激励员工的期权池
  7. DWF低代码开发技术及其在数字化运营和运维平台建设中的应用
  8. 量化投资 --- 技术篇 (1) CAPM模型
  9. FC-SAN存储技术
  10. Python学习笔记 第四天