?? c_3mfz.txt
字號:
打印“魔方陣”,所謂魔方陣是指這樣的方陣 ,它的每一行,每一列和對角線之間和均相等。例如,三階魔方陣為
8 1 6
3 5 7
4 9 2
要求打印出1~n的平方數的自然數的魔方陣。
c版本的答案:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
int a[16][16],i,j,n,k;
printf("Please input n(1~15,it must be odd.): ");
scanf("%d",&n);
while(!(n>=1&&n<=15)||n%2==0)
{
printf("The number is invalid.Please insert again:");
scanf("%d",&n);
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
i=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;
}
if(j==n+1)
{
j=1;
}
}
if(a[i][j]==0)
{
a[i][j]=k;
}
else
{
i=i+2;
j=j-1;
a[i][j]=k;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -