| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 598 人关注过本帖
标题:关于魔方阵的问题
只看楼主 加入收藏
水漪儿
Rank: 2
来 自:shangshida
等 级:论坛游民
帖 子:147
专家分:10
注 册:2007-7-19
结帖率:100%
收藏
 问题点数:0 回复次数:4 
关于魔方阵的问题

请教一下,这个题目应该怎么解?
编一程序,要求是打印出 1——n*n 的自然数构成的魔方阵。

搜索更多相关主题的帖子: 魔方 
2007-07-22 19:36
水漪儿
Rank: 2
来 自:shangshida
等 级:论坛游民
帖 子:147
专家分:10
注 册:2007-7-19
收藏
得分:0 

这个
是这问题太简单了吗?
我觉得这个好难啊!

2007-07-22 21:16
anlogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:293
专家分:20
注 册:2007-7-20
收藏
得分:0 

有现成的算法,很简单,上网搜索一下

2007-07-22 21:43
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
我在网上找的

#include <stdio.h>
#include <conio.h>
main()
{ int a[19][19],i,j,k,m,n,p;

do
{
printf("The program of print a 19*19 bewitching phalanx\r\n");
printf("Enter n (n is a odd number from 1 to 19):> ");
scanf("%d",&n);
}while((n!=0)&&(n<=19)&&(n%2==1)==0);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
a[j][i]=0;
}
j=n/2;
a[0][j]=1;
for(k=2;k<=n*n;k++)
{ i=i-1;
j=j+1;
if((i<0)&&(j>n-1))
{ i=i+2;
j=j-1;
}
else
{ if(i<0)
i=n-1;
if(j>n-1)
j=0;
}
if(a[j][i]==0)
{
a[j][i]=k;
}
else
{ i=i+2;
j=j-1;
a[j][i]=k;
}
}
printf("\n");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("%4d",a[j][i]);
printf("\n");
}
printf("\r\nThank you to use the program ! Pass any key to exit ...");
getch();
}
2007-07-22 22:00
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
最简单的是枚举,不过当n超过10后计算较慢
还有就是用现成的算法,在数据结构区置顶帖中有

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-07-23 08:18
快速回复:关于魔方阵的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016502 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved