简易的杨辉三角

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简易的杨辉三角相关的知识,希望对你有一定的参考价值。

利用二维数组,可以更加清晰的理解杨辉三角的规律:

技术分享

将二维数组看成表格形式,总结杨辉三角规律如上。

 

代码:

#include <stdio.h>
void main()
{
  int num[10][10];            //获取一个二维数组
  int i,j;                   //变量(下标) i,j 。分别控制行与列
  for(i=0;i<10;i++){           // 下标从 0 开始
    num[i][0]=1;            //第一列的数字都为 1
    num[i][i]=1;             //两变量相等时(对角线)数值为 1
  }
    for(i=2;i<10;i++){        //从第 3 行开始算(前两行数值都为 1),所以 i=2
      for(j=1;j<i;j++){      /*从第 2 列开始算 ,第 1 列数值都为1, 当 j = i 时 为二维数组对角线,这里对角线都为 1,所以此处 j < i */ 

        num[i][j]=num[i-1][j-1]+num[i-1][j];
      }
    }    /*对数组进行遍历输出,i,j 都从 0 开始循环*/
        for(i=0;i<10;i++){
          for(j=0;j<=i;j++){ //j=i为对角线 遍历输出时应该输出
            printf("%d\\t",num[i][j]);
          }
              printf("\\n");//外层循环每循环一圈 换行一次
        }
}

 

效果图:

技术分享

 

稍微进行修改,做成可以控制高度的(只是加了一个变量而已):

#include <stdio.h>
void main()
{
int hight;
printf("请输入杨辉三角的高度:\\t");
scanf("%d",&hight);
int num[hight][hight]; //获取一个二维数组
int i,j; //变量(下标) i,j 。分别控制行与列
for(i=0;i<hight;i++){ // 下标从 0 开始
num[i][0]=1; //第一列的数字都为 1
num[i][i]=1; //两变量相等时(对角线)数值为 1
}
for(i=2;i<hight;i++){ //从第 3 行开始算(前两行数值都为 1),所以 i=2
for(j=1;j<i;j++){/*从第 2 列开始算 ,第 1 列数值都为1
当 j = i 时 为二维数组对角线,这里对角线都为 1,所以此处 j < i */
num[i][j]=num[i-1][j-1]+num[i-1][j];
}
}/*对数组进行遍历输出,i,j 都从 0 开始循环*/
for(i=0;i<hight;i++){
for(j=0;j<=i;j++){ //j=i为对角线 遍历输出时应该输出
printf("%d\\t",num[i][j]);
}
printf("\\n");//外层循环每循环一圈 换行一次
}
}

效果图:

技术分享

 












































以上是关于简易的杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章

三角坐标系如何绘制

用Python输出一个杨辉三角的例子

杨辉三角队列的实现 利用循环顺序队列打印杨辉三角。杨辉三角的特点是两个腰上的数字都为1,其它位置上的

c++编写程序输出五行的杨辉三角

杨辉三角的规律公式 怎么算杨辉三角中第m行第n项的数字?求手算公式,手算!

java的杨辉三角问题