题解 | #蛇形矩阵#
蛇形矩阵
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层的数据打印完毕后,可输出一个回车换行。