本题要求从右下角开始按螺旋型递减打印数字方阵。
输入格式:
输入为一个正整数n (1=<n<=20)。
输出格式:
螺旋型递减顺序输出n行n列的数字方阵,每个数字占4个宽度,左对齐。
输入样例:
4
输出样例:
10 9 8 7
11 2 1 6
12 3 4 5
13 14 15 16
#include <stdio.h>
int main()
{
int n;
int i=0,j,c,k,m,z,x;
scanf("%d",&n);
int a[n][n];
m=n*n;
for(c=0; c<(n-1)/2+1;c++)
{
for(j=n-1-c; j>=c; j--)
{
a[n-1-c][j]=m--;
}
for(k=n-c-2; k>=c; k--)
{
a[k][c]=m--;
}
for(z=c+1; z<=n-c-1; z++)
{
a[c][z]=m--;
}
for(x=c+1; x<=n-c-2; x++)
{
a[x][n-c-1]=m--;
}
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
printf("%-4d",a[i][j]);
}
printf("\n");
}
return 0;
}