1091: 回形方阵
Time Limit: 1 Sec Memory Limit: 128 MBDescription
输出一个回形方阵,具体可见样例
Input
一个整数n (0 < n < 10)
Output
一个方阵,每个数字的场宽为2
Sample Input
8
Sample Output
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8
8 7 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8
8 7 6 5 5 5 5 5 5 5 5 5 5 5 6 7 8
8 7 6 5 4 4 4 4 4 4 4 4 4 5 6 7 8
8 7 6 5 4 3 3 3 3 3 3 3 4 5 6 7 8
8 7 6 5 4 3 2 2 2 2 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 1 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 1 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 2 2 2 2 3 4 5 6 7 8
8 7 6 5 4 3 3 3 3 3 3 3 4 5 6 7 8
8 7 6 5 4 4 4 4 4 4 4 4 4 5 6 7 8
8 7 6 5 5 5 5 5 5 5 5 5 5 5 6 7 8
8 7 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8
8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
HINT
Source
#include<stdio.h>
main()
{
int n,i,j,l=0;
scanf("%d",&n);
int a[100][100]={0},m=n;
while(l<n)
{
for(i=l;i<n*2+1-l;i++)
a[l][i]=m;
for(i=1+l;i<n*2+1-l;i++)
a[i][n*2+1-1-l]=m;
for(i=n*2+1-2-l;i>=l;i--)
a[n*2+1-1-l][i]=m;
for(i=n*2+1-2-l;i>=1+l;i--)
a[i][l]=m;
m--;
l++;
}
for(i=0;i<n*2+1;i++)
{
for(j=0;j<n*2+1;j++)
{printf("%2d",a[i][j]);}
printf("\n");
}
}