问题描述
如下图所示,小明用从1 开始的正整数“蛇形”填充无限大的矩阵。
![](https://i-blog.csdnimg.cn/blog_migrate/74de79f333a9d91df8a4535af233ebcf.png)
容易看出矩阵第二行第二列中的数是5。请你计算矩阵中第20 行第20 列的数是多少?
#include<stdio.h>
int main()
{
int n,i,tmp=1,j;
int x = 0, y = 0;
int a[101][101] = { 0 };
scanf_s("%d", &n);
for (i = 1; i <= 2 * n - 1; i++)
{
x = i;
y = 1;
while (x >= 1)
{
if (x <= n && y <= n)
{
if (i % 2 != 0)
{
a[x][y] = tmp++;
}
else
{
a[y][x] = tmp++;
}
}
x--, y++;
}
}
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}