二维数组解决杨辉三角问题

大家好,我是一个计算机专业的大一渣渣,对于编程,我可以说是弱爆了,完全是啥也不会,只好和大家分享一些没有难度的程序了,请大家多多谅解哟!

相信大家都知道杨辉三角是我们高中时期的一个数学难题,不少童鞋都曾被它的压轴难度折磨的死去活来,现在我们有了计算机的超级运算能力,一切都会变得 so easy.

首先,根据杨辉三角的特点,我们可以直接考虑用二维数组的方法,因为这样一来,通过下标查找,行与行之间数的相加就会变得很简单了;然后,我们可以通过二重循环的方式一点一点的把整个三角补充完整,但注意每一行的第一个和最后一个数都是1,这个。。。。需要你另设循环呦;到这里,整个三角形基本已经建成了,但最难的往往就在最后,童鞋们,每行的行尾是不能有空格的,所以千万不要认为printf(“%d  “,A[i][j])就完事了哟,因为这样你得到的永远是格式错误的回复哟。

对了,童鞋们,对于二维数组,其实它很简单,没有想象中的那么神秘,只要注意格式,一切都会OK。

#include<stdio.h>
int main()
{
int A[100][100];
int n,i,j;
scanf(“%d”,&n);
for(i=0;i<n;i++)
{
A[i][i]=1;
A[i][0]=1;
}
for(i=2;i<n;i++)
{
for(j=1;j<i;j++)
{
A[i][j]=A[i-1][j]+A[i-1][j-1];
}
}
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
printf(“%d”,A[i][j]);
if(j!=i)
{
printf(” “);
}
}
printf(“\n”);
}
return(0);
}

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/bianchengxuezha/article/details/78302740
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞