用C语言输出一个N阶蛇形矩阵(随意输出n*n个数之后,不要从1开始的,是自己任意输出的n*n个数)。


我是新手请编一个简单的,谢谢!
#include <iostream.h>
void main()
{
int a,b;
int j=0,k=0,sum=1,n;
int x[20][20];
cout<<"请输入矩阵长度n(n最旦好大为20)"<模纳铅<endl;
cin>>n;
a=0;b=n-1;
while(a<=b)
{
for(j=a,k=a;k<=b;k++)
x[j][k]=sum++;
for(j=a+1,k=k-1;j<茄顷=b;j++)
x[j][k]=sum++;
for(j=b,k=k-1;k>=a;k--)
x[j][k]=sum++;
for(k=a,j=j-1;j>a;j--)
x[j][k]=sum++;
a++;
b--;
}
for(j=0;j<n;j++)
{
for(k=0;k<n;k++)
{cout<<x[j][k]<<"\t";}
cout<<endl;
}
}