文章
17
粉丝
507
获赞
8
访问
159.1k
#include <stdio.h>
int main()
{
int n,len;
scanf("%d",&n);
if(n%2==0)
len=n/2;
else
len=n/2+1;
int a[20][20];
int w=1;
for(int k=0;k<len;++k)
{
//左上-->左下
for(int i=k;i<n-k;++i)
{
a[i][k]=w;
w++;
}
//左下-->右下
for(int i=k+1;i<n-k;++i)
{
a[n-k-1][i]=w;
w++;
}
//右下-->右上
for(int i=n-k-2;i>=k;--i)
{
a[i][n-k-1]=w;
w++;
}
//右上-->左上
for(int i=n-k-2;i>k;--i)
{
a[k][i]=w;
w++;
}
}
for(int i=0;i<n;++i)
{
for(int j=0;j<n;++j)
{
printf("%-4d",a[i][j]);
}
printf("\n");
}
}
扩展
本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子...
登录后发布评论