C语言 | 输出杨辉三角

例26:C语言实现输出杨辉三角。

解题思路:对于这道题,小林拆分为3部分进行讲解

第一部分,对有特点的数(每行开头和结束的数都是1)进行赋值:

for(i=0;i<10;i++)//for循环 
  {
    array[i][i]=1;//给二维数组的每一行的最后一个赋值为1 
    array[i][0]=1;//第二维数组的每一行的开头赋值为1 
  }

第二部分,给中间的数进行赋值:

for(i=2;i<10;i++)//外层循环限制行 
  {
    for(j=1;j<=i-1;j++)//内层循环限制列 
    {
      array[i][j]=array[i-1][j]+array[i-1][j-1];//给中间的数赋值
    } 
  }

第三部分,就是把上面赋值后的二维数组,遍历输出即可;

for(i=0;i<10;i++)//外层循环限制行 
  {
    for(j=0;j<=i;j++)//内层循环限制列 
    {
      printf("%6d",array[i][j]);//输出二维数组,宽度为6 
    }
  printf("\n");//换行 
  }

源代码演示:

#include<stdio.h>//头文件 
int main()//主函数入口 
{
  int i,j;//定义整型变量 
  int array[10][10];//定义二维数组 
  for(i=0;i<10;i++)//for循环 
  {
    array[i][i]=1;//给二维数组的每一行的最后一个赋值为1 
    array[i][0]=1;//第二维数组的每一行的开头赋值为1 
  }
  
  for(i=2;i<10;i++)//外层循环限制行 
  {
    for(j=1;j<=i-1;j++)//内层循环限制列 
    {
      array[i][j]=array[i-1][j]+array[i-1][j-1];//给中间的数赋值
    } 
  }
  
  for(i=0;i<10;i++)//外层循环限制行 
  {
    for(j=0;j<=i;j++)//内层循环限制列 
    {
      printf("%6d",array[i][j]);//输出二维数组,宽度为6 
    }
  printf("\n");//换行 
  }
  return 0;//函数返回值为0 
}

编译运行结果如下:

C语言输出杨辉三角

更多案例可以go公众号:C语言入门到精通

正文完