C魔方!

attycaohua 2009-05-06 02:36:01
#include <stdio.h>
#define NUM 50//预定义一个50*50的整形数组,可能大了?可能小了?
main()
{
int s[NUM][NUM],a=0,i=0,j,l;
while(a<3 || a%2==0 || a>NUM)
{
system("cls");
printf("input the number:"); //输入大于2,小于50的奇数a
scanf("%d",&a);
j=a/2;
for(l=1;l<=a*a;l++) //从1到a得平方的循环
{
s[i][j]=l;//将l逐一增加传值给一定得整形数组内的成员
//printf("s[%d][%d]=%d\n",i,j,s[i][j]); //可以打印赋值顺序
i==0?(j==a-1?i=1:(j++,i=a-1)):(j==a-1?i--,j=0:(s[i-1][j+1]?i++:(i--,j=j+1)));//。。。。。。。。。。。。
}
for(i=0;i<a;i++)
{
for(j=0;j<a;j++)
printf("%8d",s[i][j]);
printf("\n");
}
}
...全文
68 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuzzy_man 2009-05-06
  • 打赏
  • 举报
回复
这是对奇数阶方的实现函数,好像叫罗伯法。小学参加奥数的时候学过,都过去多年了,自己找找去吧。偶数阶幻方后来我当时只掌握4 6 8阶的实现方法,再高就没研究了。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧