题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include<stdio.h>
int main()
{
int num;
scanf("%d", &num);
int a[100][100] = { 0 };
int k = 1; //用以每行的数字叠加
int m = 0; //用于第一列的数字叠加
for (int i = 0; i < num; i++)
{
for (int j = 0; j < num - i; j++)
{
if (j == 0) //第一列
{
if (i == 0)
{
a[i][j] = 1;
m++;
}
else
{
a[i][j] = a[i - 1][j] + m;
m++;
}
}
else //其他列
{
a[i][j] = a[i][j - 1] + i + k;
}
k++;
}
k = 1;
}
for (int i = 0; i < num; i++)
{
for (int j = 0; j < num - i; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}