谁能将下面的代码改成结果为1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 的蛇形矩阵?
下面这个是C语言的代码:
下面这个是C语言的代码:
#include <stdio.h>
#define N 100
void main()
{
int n,i,j,k;
int a[N][N];
n = 4;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
k=i+j+1;
if(k%2==1) a[i][j]=k*(k-1)/2+i+1;
else a[i][j]=k*(k-1)/2+j+1;
}
}
for(i=1;i<n;i++)
{
for(j=n-i;j<n;j++)
{
k=i+j+1;
if(k%2==1) a[i][j]=n*n-(2*n-k+1)*(2*n-k)/2+n-j;
else a[i][j]=n*n-(2*n-k+1)*(2*n-k)/2+n-i;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}