新手求教,高手请进!!
/*输出n阶蛇形矩阵*/
#include <stdio.h>
int main()
{
int a[20][20]={0},b=1,n,i,j,flag;
printf("请输入n的值\n");
scanf("%d",&n);
i=0,j=n-1;
a[i][j--]=b++;
while(a[i][j]<n*n)
{
if(i==0)
{
a[i++][j++]=b++;
flag=0;
}
if(j==n-1)
{
a[i++][j]=b++;
a[i--][j--]=b++;
flag=1;
}
while(i!=0&&j!=0)
{
if(flag==0)
a[i++][j++]=b++;
else
a[i--][j--]=b++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}
例如输入n=5,输出为
15 7 6 2 1
16 14 8 5 3
22 17 13 9 4
23 21 18 12 10
25 24 20 19 11
为什么我编译没错,运行直接说停止工作。。
求教!!!
急!!