- C语言编程2、将1
- 2、 将1-9 9个数字填入下表,使每横行、每竖行和每条对角线上的数字之和相等。(要求同上题)
- main()
{
int array[16,16],i,j,k,n;
/*初始化*/
while (1)
{printf(“请输入n.(00)&&(n<16)&&(n%2!=0))
{printf(“矩阵阶数是%d\n”,n);
break;
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
array[i,j]=0;
/*建立矩阵*/
j=(n/2)+1;
array[1,j]=1;
for(k=2;k<=n*n;k++)
{i=i-1;
j=j+1;
if((i<1)&&(j>n))
{i=i+2;
j=j-1;
}
else
{if(i<1) i=n;
if(j>n) j=1;
}
if(array[i,j]==0)
array[i,j]=k;
else
{i=i+2;
j=j-1;
array[i,j]=k;
}
}
/*输出n阶魔方矩阵*/
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
printf(“%5d”,array[i,j]);
printf(“\n”);
}