今天给大家带来用C语言在屏幕上输出杨辉三角

杨辉三角:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

    思路:主要用到循环和数组的知识,今天就以for循环为例,给大家输出10行的杨辉三角。我们需要定义一个二维数组(a[][]),我们知道数组是从零开始的,所以第一行第一个是a[0][0],通过观察我们发现:第一列所有的数字都是1,即就是a[i][0]=1,i表示任何数字。我们还可以看出,当行数和列数相等时,该位的数字也为1,即就是a[i][i]=1,杨辉三角中间的数字规律是:从第三行开始,一个数的大小等于它正上方的那个数和那个数前一个数之和。即就是a[m][n]=a[m-1][n]+a[m-1][n-1]。通过这些我们可以将程序写出来:

#include <stdio.h>       
int main()
{
   int a[10][10];            //定义了10*10的数组
   int i=0,j=0;
   for(i=0;i<10;i++)         //将第一列所有的数字和行数列数相等的位置的数字都赋为1
  {
      a[i][0]=a[i][i]=1;
  }
   for(i=2;i<10;i++)         //将剩余位置的数字赋值
  {
      for(j=1;j<i;j++)
     {
         a[i][j]=a[i-1][j-1]+a[i-1][j];
     }
  }
   for(i=0;i<10;i++)         //将所有位置的数字输出来
  {
      for(j=0;j<=i;j++)printf("%3d ",a[i][j]);
      printf("\n");
  }
   return 0;
}

最终屏幕上输出杨辉三角。