如何使用 C 语言打印帕斯卡三角形的整数形式?


帕斯卡三角形是以三角形形式表示整数。其中一个著名的表示方法是使用二项式方程。我们可以使用组合和阶乘来实现这一点。

构造帕斯卡三角形

三角形外部的所有值都被视为零 (0)。第一行是 0 1 0,而只有 1 占据帕斯卡三角形中的一个空间,0 是不可见的。第二行是通过添加 (0+1) 和 (1+0) 获得的。输出夹在两个零之间。此过程持续进行,直到达到所需的级别。

在程序上,帕斯卡三角形被定义为一个数组,该数组通过添加前一行中的相邻元素来构造。

程序 1

在这个程序中,我们将使用数组打印帕斯卡三角形的整数形式。

 在线演示

#include <stdio.h>
int fact(int);
int main(){
   int i,rows,j;
   printf("enter no of rows :");
   scanf("%d",&rows);
   for (i = 0; i < rows; i++){
      for (j = 0; j <= (rows- i - 2); j++)
         printf(" ");
      for (j = 0 ; j <= i; j++)
         printf("%d ",fact(i)/(fact(j)*fact(i-j)));
      printf("
");    }    return 0; } int fact(int n){    int a;    int sum = 1;    for (a = 1; a <= n; a++)       sum = sum*a;    return sum; }

输出

Enter no of rows :5
      1
     1 1
    1 2 1
   1 3 3 1
  1 4 6 4 1

程序 2

在这里,我们将看到不使用数组打印帕斯卡三角形的整数形式

 在线演示

#include<stdio.h>
int main(){
   int num,row,i;
   printf("Enter the number of rows: ");
   scanf("%d",&num);
   for(row=1; row<=num; row++){
      int a=1;
      for(i=1; i<=row; i++){
         printf("%d ",a);
         a = a * (row-i)/i;
      }
      printf("
");    }    return 0; }

输出

Enter the number of rows: 6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

更新于: 2021年3月5日

270 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告