参考了大佬们的代码,一点点改动成oj需要的样子。第一次变成这样的我。
#include<stdio.h>
/*输出蛇形矩阵*/
int main()
{
int n;
int num[100][100];
int i=0,j=0;
int count = 0;
scanf("%d",&n);
j=n-1;
num[0][j]=++count;//为num[0][n-1]赋值1
while(count<n*n)
{
if(j>0)//if-else语句判断是横着走一个还是竖着走一个,并赋值
j--;
else
i++;
num[i][j]=++count;
while(i<n-1&&j<n-1)//斜向下走,直到走到头
{
i++;j++;
num[i][j]=++count;
}
if(i==n-1)//if-else语句判断是横着走还是竖着走,并赋值
j--;
else
i++;
num[i][j]=++count;
while(j>0&&i>0)//斜向上走,走到头
{
i--;j--;
num[i][j]=++count;
}
}
for(i=0;i<n;i++)//输出
{
for(j=0;j<n;j++)
printf("%d ",num[i][j]);//oj的评测格式
}
return 0;
}