c++ 打印奇数阶魔方阵方阵

c++ 打印奇数阶魔方阵方阵

ID:11503355

大小:30.00 KB

页数:3页

时间:2018-07-12

c++ 打印奇数阶魔方阵方阵_第1页
c++ 打印奇数阶魔方阵方阵_第2页
c++ 打印奇数阶魔方阵方阵_第3页
资源描述:

《c++ 打印奇数阶魔方阵方阵》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、奇数阶魔方阵是指由1到n2个自然数构成的nn的方阵,它的每一行,每一列,和对角线各元素之和均相等,3阶的魔方阵如下:816357492n阶魔方阵的构造方法为:1首先把1放在顶行的正中间,然后把后继数按顺序放置在右上斜的对角线上;2当到达顶行时,下一个数放到底行,似乎它在顶行的上面;3当到达最右列时,下一个数放在最左端列,似乎它仅靠在右端列的右方;4当到达的位置已经填好数时,提示:或到达右上角的位置时,下一个数就放在刚填写的位置的正下方。//打印奇数阶魔方阵方阵#include"stdafx.h"#include"iostream"usingnamespacestd;intmain

2、(intargc,char*argv[]){inti,j,s,n;inta[100][100];cout<<"请输入一个奇数(n>0&&n<1000)n:";loop1:cin>>n;if(n%2==0

3、

4、n<0

5、

6、n>=1000){cout<<"输入错误!请重新输入(n>0&&n<1000)的奇数n:";gotoloop1;}for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;i=1;j=(n+1)/2;a[1][(n+1)/2]=1;for(s=2;s<=n*n;s++){if((i-1)>=0&&(j-1)>=0){if((i-1)>0)

7、{if((j-1)>0){if(a[i-1][j-1]==0){a[--i][--j]=s;}else{a[++i][j]=s;}}elseif((j-1)==0){if(a[i-1][n]==0){a[--i][n]=s;j=n;}else{a[++i][j]=s;}}}elseif((i-1)==0){if((j-1)>0){if(a[n][j-1]==0){a[n][--j]=s;i=n;}else{a[++i][j]=s;}}elseif((j-1)==0){if(a[n][n]==0){a[n][n]=s;i=n;j=n;}else{a[++i][j]=s;}}}}el

8、secout<<"error!";}for(i=1;i<=n;i++){for(j=1;j<=n;j++)cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。