改成"%3d"
by ___PatrickChen___ @ 2023-09-27 22:25:41
@[xiaopang666](/user/926863)
by ___PatrickChen___ @ 2023-09-27 22:33:09
```
#include<stdio.h>
int main()
{
int n,m,i,j,k,o,l;
scanf("%d",&n);
float q;
int a[n][n];
int b[2*n-1];
for(i=1,m=n,b[0]=n;i<n;i++)
{ m--;
b[2*i]=m;
b[2*i-1]=m;
}
for(o=0,i=0,j=0,k=1,m=0,q=0;o<2*n-1;o++,m++,q=q+0.25,m=q)//i行 j列
if((o+1-4*m)%4==0) //上 4
{
for(l=0;l<b[o];l++,k++)
{
i--;
a[i][j]=k;
}
j=j+1;
}
else if((o+1-4*m)%3==0) //左 3
for(l=0;l<b[o];l++,k++)
{
j--;
a[i][j]=k;
}
else if((o+1-4*m)%2==0)//下 2
for(l=0,j=j-1;l<b[o];l++,k++)
{
i++;
a[i][j]=k;
}
else//右 1
{
for(l=0;l<b[o];l++,j++,k++)
a[i][j]=k;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
return 0;
}
```
代码应该是这样
by danlao @ 2023-10-06 12:09:02