源码如下:

生成一个 10*10 的棋局,要求,初始化为零。随机置入 10 颗棋子,棋子处置为 1,并打印。
若在棋中出现连续三个棋子在一起,包含横行和竖行,则输出好棋,否则输臭棋。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{int chess[10][10] = {0};srand(time(NULL));  //注意!//方法一int t = 15;while(t--){int i = rand()%10;int j = rand()%10;if(chess[i][j] == 0){chess[i][j] = 1;}elset += 1;     //注意!}#if 0//方法二//    int count = 0;//    while(1)    //死循环//    {//        int i = rand()%10;//        int j = rand()%10;//        if(chess[i][j] == 0)//        {//            chess[i][j] = 1;//            count++;//            if(count == 10)//                break;//        }//    }
#endif#if 0//方法三//    int count = 0;//    while(count < 10)//    {//        int i = rand()%10;//        int j = rand()%10;//        if(chess[i][j] == 1)//            continue;//        chess[i][j] = 1;//        count++;//    }
#endiffor(int i=0;i<10;i++){for(int j=0;j<10;j++){printf("%2d",chess[i][j]);}putchar(10);}#if 0
//方法一
//    int count = 0;
//    for(int i=0;i<10;i++)       //横行扫描
//    {//        for(int j=0;j<8;j++)
//        {//            int j2 = j+1;
//            int j3 = j+2;
//            if(chess[i][j] == 1&&chess[i][j2] == 1&&chess[i][j3] == 1)
//            {//                count++;
//                if(count == 1)
//                    break;
//            }
//        }
//        if(count == 1)
//            break;
//    }
//    if(count != 1)
//    {//        for(int j=0;j<10;j++)       //竖行扫描
//        {//            for(int i=0;i<8;i++)
//            {//                int i2 = i+1;
//                int i3 = i+2;
//                if(chess[i][j] == 1&&chess[i2][j] == 1&&chess[i3][j] == 1)
//                {//                    count++;
//                    if(count == 1)
//                        break;
//                }
//            }
//            if(count == 1)
//                break;
//        }
//    }
//    if(count != 0)
//        printf("\n good");
//    else
//        printf("\n not good!!!");
#endif//方法二int count = 0;int flagGoodChess = 0;for(int i=0;i<10;i++){for(int j=0;j<10;j++)           //行扫描{if(1 == chess[i][j]){count++;if(count == 3){flagGoodChess = 1;break;}}elsecount = 0;}if(flagGoodChess == 1)break;for(int j=0;j<10;j++)           //列扫描{if(1 == chess[j][i]){count++;if(count == 3){flagGoodChess = 1;break;}}elsecount = 0;}if(flagGoodChess == 1)break;}if(flagGoodChess == 1)printf("good @");elseprintf(" not good @");return 0;
}

上面只研究了横行与竖行的判定,以后拓展一下两种斜行的判定。

天生棋局与棋局判断(C语言)相关推荐

  1. 国际化和判断当前语言环境

    转过来的资料,国际化和判断当前语言环境! 1.IOS程序名称国际化 1.1 新建一个Single View app模版项目,命名为Localization. 1.2 新建后,可以看到工作目录结构文件如 ...

  2. html js 浏览器语言,js 判断浏览器语言的方法

    今天遇到一个要根据浏览器设置语言的类型,来展示网站的字体.比如,浏览器的语言是中文简体,那么网站也要显示中文简体字,如果是繁体或是英文都要根据浏览器当前设置的语言进行显示.那么,飞鸟慕鱼博客来和大家说 ...

  3. c语言 判断乘法是否溢出,如何判断C语言算术运算的越界问题

    大量的安全漏洞是由于计算机算术运算的微妙细节引起的, 具体的C语言, 诸如符号数和无符号数之间转换, 算术运算的越界都会导致不可预知的错误和安全漏洞, 具体的案例数不胜数. 作为一个系统程序员, 有必 ...

  4. JavaScript判断系统语言

    JavaScript判断系统语言 英文 中文 var lang= null;function language(){var language=null;if (navigator.appName == ...

  5. html页面国际化之谷歌翻译js实践,支持通过判断浏览器语言自动将中文翻译成英文

    实践过程 最近boss提出了一个需求,需要支持打开的页面自动翻译成英文,csdn来回找资料,最终确定使用谷歌翻译js插件,这个插件测试只支持手动翻译,没能满足打开页面通过判断浏览器语言自动翻译成英文的 ...

  6. php判断浏览器语言国内外,PHP判断浏览器语言

    我们可以通过PHP判断浏览器语言,给访客放出不同的语言或组件,让访客觉得我们为他们精心安排了一些内容,岂不美妙.在PHP判断浏览器类型一文中,我介绍了使用$_SERVER["HTTP_USE ...

  7. C语言怎样判断乘法越界,如何判断C语言算术运算的越界问题

    大量的安全漏洞是由于计算机算术运算的微妙细节引起的, 具体的C语言, 诸如符号数和无符号数之间转换, 算术运算的越界都会导致不可预知的错误和安全漏洞, 具体的案例数不胜数. 作为一个系统程序员, 有必 ...

  8. 各国语言简写代码/php 获取(判断)操作系统语言

    各国语言简写代码/php 获取(判断)操作系统语言 http://hi.baidu.com/3800_hk/blog/item/4a509e51cf19f03543a75bf1.html php获取操 ...

  9. c语言的非法字符常量,判断C语言数值常量是否合法?为什么不合法?

    12. 0Xa23 4.5e0,-0xf .5e-3 .177合法. 实数型常量:必须有小数点,例如定义double a=1就是错误的,必须写成double a=1.0,另外写成a=1,0中间是逗号, ...

最新文章

  1. python自动化办公脚本下载-基于python实现自动化办公学习笔记二
  2. 两道与二进制有关的sequence
  3. 015 Android之可执行文件dex
  4. C#中简单的正则表达式(也经常会用到的)
  5. eval?python顺序列表模拟栈实现计算器
  6. 深度学习的未来在单片机身上?
  7. snmp+mrtg监控-note
  8. Maven scope中import的作用
  9. Java面试--Structs
  10. 【JAVA】学习java 运行环境配置
  11. 博主个人用的duilib版本
  12. java speex转码_JAVA版-微信语音.speex转.wav
  13. sql 查询in的集合元素过多优化方式
  14. 简述autocad在测绘工程中的应用_AutoCAD在工程测绘制图中的应用
  15. 【QNX Hypervisor 2.2 用户手册】1.3 QNX hypervisor架构
  16. 众外媒评析苹果2022秋季新品发布会:说服客户升级iPhone至关重要
  17. 基于AS的学生教务系统
  18. 论文查重率多少算正常?
  19. python 北京出租车收费3.45_python进阶(三)
  20. PFC技术到底该如何快速有效学习?

热门文章

  1. python求素数积_python求质数的3种方法
  2. 弹性地基梁板法计算原理_平面弹性地基梁法,详细讲解!
  3. 千亿资本角逐二手车电商,前瞻还是大泡沫?
  4. 【语音去噪】基于最小二乘自适应滤波LMS和RLS实现语音去噪含Matlab源码
  5. 编译原理:词法分析实验报告
  6. [UOJ]#36. 【清华集训2014】玛里苟斯 线性基+分类讨论
  7. 自己动手打造html5星际迷航!
  8. Eclipse界面风格调整
  9. Ubuntu 14.04+GT720M+CUDA8.0+CUDNN+PYCAFFE
  10. freeswitch呼入落地测试信息