#include <stdio.h>
#define N 5
#define max(a,b) ((a)<(b)?(b):(a))
#define abs(a) ((a)>0?(a):(-a))
int foo(int x, int y)
{
int t = max(abs(x),abs(y));
int u = t + t;
int v = u - 1;
v = v * v + u;
if (x == -t)
{
v+= u + t - y;
}
else if (y == -t)
{
v += 3*u+x-t;
}
else if (y == t)
{
v += t - x;
}
else
{
v += y - t;
}
return v;
}
int main()
{
int x, y;
for (y=1-N; y<=N-1; y++)
{
for (x=1-N; x<=N-1; x++)
{
printf("%5d",foo(x,y));
}
printf("\n");
}
return 0;
}
打印螺旋方阵
最新推荐文章于 2022-11-14 17:46:53 发布