[求助]新手数组问题,帮帮忙!!谢谢!
打印“魔方阵”。它的每一行,每一列和对角线之和均相等。例如,三阶魔方阵为8 1 6
3 5 7
4 9 2
要求打印出1到n2的自然数构成的魔方阵!!
帮帮忙,谢谢,给个思路也好!!!
#include <stdio.h>
int main(int argc, char *argv[])
{
int a[5][5];
int i,j,k;
for(i=0;i<=4;i++)
{
for(j=0;j<=4;j++)
{
a[i][j]=0;
}
}
i=0;
j=2;
for(k=1;k<=25;k++)
{
a[i][j]=k;
i--;
j++;
if((i<0)&&(j<=4))
{
i=4;
}
if((i<0)&&(j>4))
{
i+=2;
j--;
}
if((i<0)&&(j>4))
{
i+=2;
j--
}
if(a[i][j]!=0)
{
i+=2;
j--;
}
for(i=0;i<=4;i++)
{
for(j=0;j<=4;j++)
{
println("%2d ",a[i][j]);
}
println("\n");
}
}
}