题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include <stdio.h>
int snack[101][101];
int main() {
int a, b=0,i,j=0;
while (scanf("%d", &a) != EOF) {
snack[0][0]=1;
for(i=0;i<a;i++)
{
if(i>=1)
snack[i][0]=snack[i-1][0]+i;
for(j=1;j<a-i;j++)
{
snack[i][j]=snack[i][j-1]+j+1+i;
}
}
for(i=0;i<a;i++)
{
for(j=0;j<a-i;j++)
{
printf("%d ",snack[i][j]);
}
printf("\n");
}
}
return 0;
}
建一个二维数组,用于保存生成的蛇形矩阵。这个矩阵会有a层(输入参数),每层的元素个数由a-i来决定。输出时当第i层的数据打印完毕后,可输出一个回车换行。
