C语言:九宫格改进
#include <stdio.h>
/*
如下排列表示
A00 A01 A02
A10 A11 A12
A20 A21 A22
*/
unsigned char array[3][3] = {{1, 1, 1}, {1, 1, 1}, {1, 1, 1}};
int jiance(int n)
{
int i,j,m=0;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
if (n==array[i][j])
{
m++;
return 0;
}
} }
if (m==0)
{
return 1;
}
}
int main()
{ 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(jiance(array[0][1]))
continue;
for(array[0][2] = 1; array[0][2] < 10; array[0][2]++) //A02从1依次循环到9
{
if(jiance(array[0][2]))
continue; for(array[1][0] = 1; array[1][0] < 10; array[1][0]++)//A10从1依次循环到9
{
if(jiance(array[1][0]))
continue;
for(array[1][1] = 1; array[1][1] < 10; array[1][1]++)//A11从1依次循环到9
{
if(jiance(array[1][1]))
continue;
for(array[1][2] = 1; array[1][2] < 10; array[1][2]++)//A12从1依次循环到9
{
if(jiance(array[1][2]))
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(jiance(array[2][0]))
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(jiance(array[2][1]))
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(jiance(array[2][2]))
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语言:九宫格改进的更多相关文章
- 23.C# 语言的改进
1.对象初始化器 class Curry { public string MainIngredient{get;set;} public string Style { get; set; } publ ...
- 【GoLang】转载:我为什么放弃Go语言,哈哈
我为什么放弃Go语言 作者:庄晓立(Liigo) 日期:2014年3月 原创链接:http://blog.csdn.NET/liigo/article/details/23699459 转载请注明出处 ...
- C语言不是C++的严格子集
C语言是C++的子集吗?C++是在C语言的基础上扩展而来并包含所有C语言的内容吗? 回复: 从实用角度讲,C++属于C语言的一个超集,基本上兼容ANSI C.但是从编译角度上讲,C语言的有些特性在C+ ...
- 我为什么放弃Go语言
有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?事实上我一直在认真思考这个问题. 开门见山地说,我当初放弃Go语言(golang),就是由于两个 ...
- java语言与jvm虚拟机简介
一.java语言 1.1 支持面向对象编程oop 强调支持,因为java同样可以面向过程编程. oop的三大特性是:封装.继承.多态. 封装主要针对成员变量而言,oop的思想要求成员变量均为私有,不应 ...
- 驳2B文 "我为什么放弃Go语言"
此篇文章流传甚广, 其实里面没啥干货, 而且里面很多观点是有问题的. 这个文章在 golang-china 很早就讨论过了. 最近因为 Rust 1.0 和 1.1 的发布, 导致这个文章又出来毒 ...
- 跨平台、跨语言应用开发,Elements 介绍
目录 1,Elements 介绍 2,Elements 版本 3,Elements 能干嘛 4,Elements IDES 5,Elements 工具 1,Elements 介绍 RemObject ...
- 1、从C语言到C++
1.面向对象的C++ c++是在C语言的基础上发展起来的一门语言,C++是即支持结构化程序编程又支持面向对象程序设计的混合型语言.他一方面提供了对C的兼容性,保持了C的简介.高效,接近汇编语言的特点, ...
- Android 5.0 API新增和改进
开始开发 要构建 Android 5.0 版应用,您必须先下载 Android SDK,然后使用 SDK 管理器下载 Android 5.0 SDK 平台和系统映像. 更新您的目标 API 级别 要进 ...
随机推荐
- 腾讯 angel 3.0:高效处理模型
腾讯 angel 3.0:高效处理模型 紧跟华为宣布新的 AI 框架开源的消息,腾讯又带来了全新的全栈机器学习平台 angel3.0.新版本功能特性覆盖了机器学习的各个阶段,包括:特征工程.模型训练. ...
- 语义分割:基于openCV和深度学习(一)
语义分割:基于openCV和深度学习(一) Semantic segmentation with OpenCV and deep learning 介绍如何使用OpenCV.深度学习和ENet架构执行 ...
- eclipse左边的工程列表窗口不见了解决方案
解决eclipse左边的工程列表窗口看不到工程目录的方法: Window->Show View->Project Explorer(如果没有Project Explorer选项,则Wind ...
- vscode使用版本控制git commit unstaged时提示对话框的设置
使用 vscode 版本控制提交代码时,如果有 unstaged file,会有一个弹出框: 选择 always 或者 never ,这个框下次就不再弹出了. 如果你想让他再次出现,请去setting ...
- python赋值,深拷贝和浅拷贝的区别
1.赋值 list1=[[1,2],'fei',66] list2=list1 list1 [[1, 2], 'fei', 66] list2 [[1, 2], 'fei', 66] list2.ap ...
- 四、提高SSH服务安全
配置基本安全策略 [root@proxy ~]# vim /etc/ssh/sshd_config //调整sshd服务配置 .. .. Protocol 2 ...
- Nexus 安装配置教程
目录 为什么使用 Nexus Docker 模式安装 Nexus 使用 data volume 使用本地目录 Nexus 配置 配置 Blob Stores Nexus 使用 包下载 包上传 参考 为 ...
- Golang修改操作系统时间
Golang修改操作系统时间 需求 程序有时需要和服务器对时,发现延迟过高修改本地时间,这段代码网上抄的,实测可用,windows环境需要以管理员身份启动命令提示符调试 实现Demo package ...
- 学习Qt Charts - 不使用UI的情况下使用QTCharts
新建一个Qt Widgets Application项目,不添加UI文件,如下图: 建立工程后,在.pro文件中添加: QT += charts 然后在.h文件中添加: #include " ...
- ES6学习笔记之数组
1.拓展运算符 含义 拓展运算符是三个点(...),功能是将数组或类数组对象展开成一系列用逗号隔开的值.如下面代码: console.log(...[1, 2, 3]); //1 2 3 consol ...