啥也不说了 上代码
#include <stdio.h>
void fun(int a[10][10],int n);
int main()
{
int n,m=1,hang=0,lie=0,k,k2=1;
scanf("%d",&n);
int a[n][n];
while(1)
{
//left ~ right
for(k=k2;k<=n;k++)
a[hang][lie++]=m++;
lie--,hang++;k2++;
//right ~ bottom
for(k=k2;k<=n;k++)
a[hang++][lie]=m++;
hang--;lie--;
//bottom ~ left
for(k=k2;k<=n;k++)
a[hang][lie--]=m++;
hang--,lie++;k2++;
//left ~ top
for(k=k2;k<=n;k++)
a[hang--][lie]=m++;
hang++,lie++;
if(m>n*n)break;
}
for(hang=0;hang<n;hang++)
{
for(lie=0;lie<n;lie++)
printf("%-4d",a[hang][lie]);
putchar(10);
}
return 0;
}
输出样例:
?
|