C语言:九宫格
2024-09-01 15:20:26
#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();
}
最新文章
- ReactNative入门 —— 动画篇(上)
- 关于“float”的一次探索--遇到了一个span元素可以设置宽高引发的思考
- Elasticsearch聚合 之 Terms
- [转]Backbone.js简单入门范例
- Extjs 属性控件[转载]
- 在Android Studio中使用shareSDK进行社会化分享(图文教程)
- Java中HashMap案例
- 关于mvc3.0RadioButtonFor的使用
- Beautiful Soup教程 转
- Android 拦截短信
- Oracle11g导入*.dmp数据文件
- objective-c中是如何实现线程同步的?
- 吃透css3之3d属性--perspective和transform
- java之过滤器Filter (应用场景)
- CSS3笔记2
- Linux环境下Node.js的安装配置
- Flask学习【第3篇】:蓝图、基于DBUtils实现数据库连接池、上下文管理等
- ZooKeeper 集群环境搭建 (本机3个节点)
- HttpURLConnection与HttpClient浅析---转
- 云-Azure-百科:Azure