本文已参与新人创作礼活动,一起开启掘金创作之路
void main() { int i,j; int n; int num = 1;
for (n = 0;n<N/2;n++)
{
for(i = n;i<N-n-1;i++)
m[i][n] = num++;
for(j = n;j<N-n-1;j++)
m[i][j] = num++;
for(i = N-n-1;i > n;i-- )
m[i][j] = num++;
for(j = N-n-1;j>n;j--)
m[i][j] = num++;
}
if(1 == N%2)
{
m[N/2][N/2]=num;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%3d ",m[i][j]);
printf("\n");
}
}
//方法2
#include<stdio.h> #define N 7
void main() { int i,j; int n=0; int num = 1; int a[N][N];
if(N%2==0)
for (n = 0;n<N/2;n++)
{
for(i = n;i<N-n-1;i++)
a[i][n] = num++;
for(j = n;j<N-n-1;j++)
a[i][j] = num++;
for(i = N-n-1;i > n;i-- )
a[i][j] = num++;
for(j = N-n-1;j>n;j--)
a[i][j] = num++;
}
else
{
for (n = 0;n<N/2;n++)
{
for(i = n;i<N-n-1;i++)
a[i][n] = num++;
for(j = n;j<N-n-1;j++)
a[i][j] = num++;
for(i = N-n-1;i > n;i-- )
a[i][j] = num++;
for(j = N-n-1;j>n;j--)
a[i][j] = num++;
}
a[N/2][N/2]=num++;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%3d ",a[i][j]);
printf("\n");
}
}