题解 | #蛇形矩阵#

蛇形矩阵

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;
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务