C语言:九宫格
#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语言:九宫格的更多相关文章
- C语言 · 9-1九宫格
算法提高 9-1九宫格 时间限制:1.0s 内存限制:256.0MB 问题描述 九宫格.输入1-9这9个数字的一种任意排序,构成3*3二维数组.如果每行.每列以及对角线之和都相等,打 ...
- C语言:九宫格改进
#include <stdio.h> /* 如下排列表示 A00 A01 A02 A10 A11 A12 A20 A21 A22 */ unsigned char array[3][3] ...
- Swift 简简单单实现手机九宫格手势密码解锁
原文:Swift 简简单单实现手机九宫格手势密码解锁 大家可以看到我之前的文章[HTML5 Canvas简简单单实现手机九宫格手势密码解锁] 本文是使用苹果语言对其进行了移植 颜色配色是拾取的支付宝的 ...
- 算法笔记_199:第二届蓝桥杯软件类决赛真题(C语言本科)
前言:以下代码部分仅供参考,C语言解答部分全部来自网友,Java语言部分部分参考自网友,对于答案的正确性不能完全保证. 试题1 数论中有著名的四方定理:所有自然数至多只要用四个数的平方和就可以表示. ...
- C/C++编程笔记:C语言打造中国象棋游戏,项目源代码分享!
中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味性强,成为流行极为广泛的棋艺活动. 它是中国棋文化,也是中华民族的文化瑰宝,它源远流长,趣味浓厚,基本规 ...
- 好你个C语言,原来还有这么多副面孔!
C语言可以这样比喻,是一门非常强大的内功心法,学会它可以做到一法通万法.这也是它至今不衰的原因.说了这么多C语言的优点,现在来说说它的缺点.C语言最大的优点也是它最大的缺点,拥有强大的力量时应时刻保持 ...
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
随机推荐
- Python+Selenium - 鼠标操作
鼠标操作类:action_chains模块的ActionChains类 使用组成:操作 + 执行(perform()) 导入代码 from selenium.webdriver.common.acti ...
- TVM适配NN编译Compiler缺陷
TVM适配NN编译Compiler缺陷 内容纲要 前言 TVM针对VTA的编译流程 自定义VTA架构:TVM的缺陷与性能瓶颈 TVM缺陷与瓶颈 缺陷一:SRAM配置灵活性差 缺陷二:计算阵列配置僵硬 ...
- MLIR中间表示和编译器框架
MLIR中间表示和编译器框架 TensorFlow生态系统包含许多在软件和硬件堆栈的多个级别上运行的编译器和优化器.作为TensorFlow的日常用户,使用不同类型的硬件(GPU,TPU,移动设备)时 ...
- Camera Calibration 相机标定
Camera Calibration 相机标定 一.相机标定方法 在opencv中提供了一组函数用于实现相机的标定,标定返回的值包括:相机内参矩阵(fx fy xc yc).相机外参矩阵(R t)以及 ...
- AI框架精要:设计思想
AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...
- nvGRAPH原理概述
nvGRAPH原理概述 nvGRAPH的API参考分析. 简介 数据分析是高性能计算的不断增长的应用.许多高级数据分析问题可以称为图形问题.反过来,当今许多常见的图形问题也可以称为稀疏线性代数.这是N ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
- 日常Bug排查-Nginx重复请求?
日常Bug排查-Nginx重复请求? 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,其中不乏一些看起来很低级但很容易犯的问题. 问题现场 有一天运维突然找到 ...
- 基于Spring Boot的在线问卷调查系统的设计与实现+论文
全部源码下载 # 基于Spring Boot的问卷调查系统 ## 介绍 > * 本项目的在线问卷调查调查系统是基于Spring Boot 开发的,采用了前后端分离模式来开发. > * 前端 ...
- oracle中如何处理null
从两个表达式返回一个非 null 值.语法NVL(eExpression1, eExpression2)参数eExpression1, eExpression2如果 eExpression1 的计算结 ...