题目:
N=5的情况下,输出结果如下:
1 2 9 10 25
4 3 8 11 24
5 6 7 12 23
16 15 14 13 22
17 18 19 20 21
要求N可以为任意数,写出输出此阵列的代码段;
我写出的代码如下:
#include <stdio.h>
#define N 5
void main()
{
int nArr[N][N]={0};
int i,j,value=1;
for(i=0;i<N;i++)
{
if(i%2==1)
{
for(j=0;j<i;j++)
{
nArr[j][i]=value++;
}
for(j=i;j>=0;j--)
{
nArr[i][j]=value++;
}
}
else
{
for(j=0;j<i;j++)
{
nArr[i][j]=value++;
}
for(j=i;j>=0;j--)
{
nArr[j][i]=value++;
}
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%-2d ",nArr[i][j]);
}
printf("\n");
}
}