c语言编程-移数字游戏

c语言编程-移数字游戏

题目要求:

有这样一个包含9个圆圈的数阵,如下图所示:

图1 包含9个圆圈的数阵

图5-23 数阵的最终状态 图2 数阵的最终状态

#include “stdio.h”int match(int i,int j,int k,int l,int m,int n,int o,int p,int q){ /*判断变量i q是否互不相等,是则返回1,不是则返回0*/ if(i!=j&&i!=k&&i!=l&&i!=m&&i!=n&&i!=o&&i!=p&&i!=q &&j!=k&&j!=l&&j!=m&&j!=n&&j!=o&&j!=p&&j!=q &&k!=l&&k!=m&&k!=n&&k!=o&&k!=p&&i!=q &&l!=m&&l!=n&&l!=o&&l!=p&&l!=q &&m!=n&&m!=o&&m!=p&&m!=q &&n!=o&&n!=p&&n!=q &&o!=p&&o!=q &&p!=q) return 1 ; else return 0;}int justic(int i,int j,int k,int l,int m,int n,int o,int p,int q){ /*判断变量i q的这种排列是否满足魔幻方阵的要求,满足返回1,不满足返回0*/ if(i+j+k == l+m+n && i+j+k == o+p+q && i+l+o == j+m+p && i+l+o == k+n+q && i+m+q == k+m+o)return 1; else return 0;}void getMatrix(){ int i,j,k,l,m,n,o,p,q; for(i=1;i<=9;i++) for(j=1;j<=9;j++) for(k=1;k<=9;k++) for(l=1;l<=9;l++) for(m=1;m<=9;m++) for(n=1;n<=9;n++) for(o=1;o<=9;o++) for(p=1;p<=9;p++) for(q=1;q<=9;q++) { if(match(i,j,k,l,m,n,o,p,q)) if(justic(i,j,k,l,m,n,o,p,q)) { printf("%d %d %d",i,j,k);/*输出结果*/ printf("%d %d %d",l,m,n); printf("%d %d %d",o,p,q); printf(""); return; } /*返回*/ }}main(){ getMatrix() ; /*输出一个三阶魔幻方阵*/ getche();}

运行结果:

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
上一篇 2022年6月20日 09:28
下一篇 2022年6月20日 09:28

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息