题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
//关键在于对行列规律的观察,如果实在观察不出来,那就是经验的问题,多积累即可 #include <stdio.h> int main() { int arr[100][100]={0}; int i=0,j=0,n=0; scanf("%d",&n); //为了看清楚,没有放在初始化里,单独将首行首元素置为1 arr[0][0]=1; printf("%d ",arr[0][0]); for(i=0;i<n;i++) { //第二行开始的首元素通过上一行首元素得到 if(i>0) { arr[i][0]=arr[i-1][0]+i; printf("%d ",arr[i][0]); } //每行第二例开始的元素通过本行前一元素得到 for(j=1;j<n-i;j++) { arr[i][j] = arr[i][j-1] + i + j + 1; printf("%d ",arr[i][j]); } //每行结束打印一个换行 printf("\n"); } return 0; }