#include <stdio.h>
/*
如下排列表示
A00 A01 A02
A10 A11 A12
A20 A21 A22
*/
int main()
{
unsigned char array[3][3] = {{1, 1, 1}, {1, 1, 1}, {1, 1, 1}}; for(array[0][0] = 1; array[0][0] < 10; array[0][0]++) //A00从1依次循环到9
{
for(array[0][1] = 1; array[0][1] < 10; array[0][1]++) //A01从1依次循环到9
{
if(array[0][1] == array[0][0])//如果A01 A00相同则结束本次循环,直接进入下次循环
continue;
for(array[0][2] = 1; array[0][2] < 10; array[0][2]++) //A02从1依次循环到9
{
if(array[0][2] == array[0][0])//如果A02 A00相同则结束本次循环,直接进入下次循环
continue;
if(array[0][2] == array[0][1])//如果A02 A01相同则结束本次循环,直接进入下次循环
continue;
if((array[0][0] + array[0][1] + array[0][2]) != 15)//如果A00+A01+A02不等于15结束本次循环,直接进入下次循环
continue; for(array[1][0] = 1; array[1][0] < 10; array[1][0]++)//A10从1依次循环到9
{
if(array[1][0] == array[0][0])//如果A10等于A00 A01 A02都结束本次循环,直接进入
continue;
if(array[1][0] == array[0][1])
continue;
if(array[1][0] == array[0][2])
continue;
for(array[1][1] = 1; array[1][1] < 10; array[1][1]++)//A11从1依次循环到9
{
if(array[1][1] == array[0][0])//如果A11等于A00 A01 A02 A10都结束本次循环,直接进入
continue;
if(array[1][1] == array[0][1])
continue;
if(array[1][1] == array[0][2])
continue;
if(array[1][1] == array[1][0])
continue;
for(array[1][2] = 1; array[1][2] < 10; array[1][2]++)//A12从1依次循环到9
{
if(array[1][2] == array[0][0])//如果A12等于A00 A01 A02 A10 A11都结束本次循环,直接进入
continue;
if(array[1][2] == array[0][1])
continue;
if(array[1][2] == array[0][2])
continue;
if(array[1][2] == array[1][0])
continue;
if(array[1][2] == array[1][1])
continue;
if((array[1][0] + array[1][1] + array[1][2]) != 15)//如果A10+A11+A12不等于15结束本次循环,直接进入下次循环
continue; for(array[2][0] = 1; array[2][0] < 10; array[2][0]++)//A20从1依次循环到9
{
if(array[2][0] == array[0][0])//如果A20等于A00 A01 A02 A10 A11 A12都结束本次循环,直接进入
continue;
if(array[2][0] == array[0][1])
continue;
if(array[2][0] == array[0][2])
continue;
if(array[2][0] == array[1][0])
continue;
if(array[2][0] == array[1][1])
continue;
if(array[2][0] == array[1][2])
continue; if((array[0][0] + array[1][0] + array[2][0]) != 15)//第一列如果A00+A10+A20不等于15结束本次循环,直接进入下次循环
continue; for(array[2][1] = 1; array[2][1] < 10; array[2][1]++)//A21从1依次循环到9
{
if(array[2][1] == array[0][0])//如果A20等于A00 A01 A02 A10 A11 A12 A20都结束本次循环,直接进入
continue;
if(array[2][1] == array[0][1])
continue;
if(array[2][1] == array[0][2])
continue;
if(array[2][1] == array[1][0])
continue;
if(array[2][1] == array[1][1])
continue;
if(array[2][1] == array[1][2])
continue;
if(array[2][1] == array[2][0])
continue; if((array[0][1] + array[1][1] + array[2][1]) != 15) //第二列如果A01+A11+A21不等于15结束本次循环,直接进入下次循环
continue; for(array[2][2] = 1; array[2][2] < 10; array[2][2]++)//A22从1依次循环到9
{
if(array[2][2] == array[0][0])//如果A21等于A00 A01 A02 A10 A11 A12 A20 A21都结束本次循环,直接进入
continue;
if(array[2][2] == array[0][1])
continue;
if(array[2][2] == array[0][2])
continue;
if(array[2][2] == array[1][0])
continue;
if(array[2][2] == array[1][1])
continue;
if(array[2][2] == array[1][2])
continue;
if(array[2][2] == array[2][0])
continue;
if(array[2][2] == array[2][1])
continue; if((array[2][0] + array[2][1] + array[2][2]) != 15)//第三行如果A20+A21+A22不等于15结束本次循环,直接进入下次循环
continue; if((array[0][2] + array[1][2] + array[2][2]) != 15)//第三列如果A02+A12+A22不等于15结束本次循环,直接进入下次循环
continue; if((array[0][0] + array[1][1] + array[2][2]) != 15)//斜线如果A00+A11+A22不等于15结束本次循环,直接进入下次循环
continue;
if((array[0][2] + array[1][1] + array[2][0]) != 15)//斜线如果A02+A11+A20不等于15结束本次循环,直接进入下次循环
continue; printf("%d %d %d\n", array[0][0], array[0][1], array[0][2]);
printf("%d %d %d\n", array[1][0], array[1][1], array[1][2]);
printf("%d %d %d\n", array[2][0], array[2][1], array[2][2]); printf("\n");
}
}
}
}
}
}
}
}
}
getchar();
}

C语言:九宫格的更多相关文章

  1. C语言 · 9-1九宫格

    算法提高 9-1九宫格   时间限制:1.0s   内存限制:256.0MB      问题描述 九宫格.输入1-9这9个数字的一种任意排序,构成3*3二维数组.如果每行.每列以及对角线之和都相等,打 ...

  2. C语言:九宫格改进

    #include <stdio.h> /* 如下排列表示 A00 A01 A02 A10 A11 A12 A20 A21 A22 */ unsigned char array[3][3] ...

  3. Swift 简简单单实现手机九宫格手势密码解锁

    原文:Swift 简简单单实现手机九宫格手势密码解锁 大家可以看到我之前的文章[HTML5 Canvas简简单单实现手机九宫格手势密码解锁] 本文是使用苹果语言对其进行了移植 颜色配色是拾取的支付宝的 ...

  4. 算法笔记_199:第二届蓝桥杯软件类决赛真题(C语言本科)

    前言:以下代码部分仅供参考,C语言解答部分全部来自网友,Java语言部分部分参考自网友,对于答案的正确性不能完全保证. 试题1 数论中有著名的四方定理:所有自然数至多只要用四个数的平方和就可以表示. ...

  5. C/C++编程笔记:C语言打造中国象棋游戏,项目源代码分享!

    中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味性强,成为流行极为广泛的棋艺活动. 它是中国棋文化,也是中华民族的文化瑰宝,它源远流长,趣味浓厚,基本规 ...

  6. 好你个C语言,原来还有这么多副面孔!

    C语言可以这样比喻,是一门非常强大的内功心法,学会它可以做到一法通万法.这也是它至今不衰的原因.说了这么多C语言的优点,现在来说说它的缺点.C语言最大的优点也是它最大的缺点,拥有强大的力量时应时刻保持 ...

  7. C语言 · 高精度加法

    问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...

  8. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  9. iOS开发系列--Swift语言

    概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...

随机推荐

  1. Django 自定义表名和字段名

    Django 自定义表名和字段名 通过db_table和db_column自定义数据表名和字段名 假如你的数据库里已经有了一张数据表,且该表包含多个字段,你希望通过Django直接访问该数据表的各个字 ...

  2. Step By Step(Lua弱引用table)

    Step By Step(Lua弱引用table) Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们.然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃 ...

  3. CVPR2020论文解析:实例分割算法

    CVPR2020论文解析:实例分割算法 BlendMask: Top-Down Meets Bottom-Up for Instance Segmentation 论文链接:https://arxiv ...

  4. 结构感知图像修复:ICCV2019论文解析

    结构感知图像修复:ICCV2019论文解析 StructureFlow: Image Inpainting via Structure-aware Appearance Flow 论文链接: http ...

  5. [NOIP2010 提高组] 机器翻译

    问题描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先在内存中查 ...

  6. springmvc——基于xml的异常映射和基于注解的异常映射

    SpringMVC提供了基于XML和基于注解两种异常映射机制.这两种异常映射不能够只使用一个,他们需要一起使用.因为有些异常是基于注解异常映射捕获不到的. 在springmvc中,一个请求如果是由&l ...

  7. 十二、iptables基本管理

    关闭firewalld,启动iptables服务 [root@proxy ~]# systemctl stop firewalld.service     //关闭firewalld服务器 [root ...

  8. Zab协议 (史上最全)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  9. ClickHouse学习系列之四【副本&分片部署说明】

    背景 以前介绍过ClickHouse相关的系列文章,现在继续说明.本文开始说明ClickHouse的副本与分片,和其他数据库一样,ClickHouse也会出现单节点故障和单节点资源到达上限的情况.所以 ...

  10. Electron-Vite2-MacUI桌面管理框架|electron13+vue3.x仿mac桌面UI

    基于vue3.0.11+electron13仿制macOS桌面UI管理系统ElectronVue3MacUI. 前段时间有分享一个vue3结合electron12开发后台管理系统项目.今天要分享的是最 ...