题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/f228a074c5274619b26be544962375e1
#include <stdio.h>
int main() {
int num=1,n,row=0,col=0,a[1000][1000],i,j;
scanf("%d",&n);
while(num<=n*n)
{
for(i=0;i<2;i++)//横向输入
{
if(col<n&&row<n) a[row][col]=num++;
col++;
}
col--;
while(col) //副对角线
{
col--;
row++;
if(col<n&&row<n) a[row][col]=num++;
}row++;
while(row)//主对角线
{
if(col<n&&row<n) a[row][col]=num++;
row--;
col++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
