杨辉三角(C语言)
程序员文章站
2022-05-18 19:13:52
杨辉三角 杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623 1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。 如图: 它的规律是,除了每一行的第一 ......
杨辉三角
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
如图:
它的规律是,除了每一行的第一个数和最后一个数,其余每个数等于上面两个数字值之和。
c语言实现:
#include <stdio.h> void yanghui(int number); int main(void){ int number = 0; printf("请输入要打印的层数:"); scanf("%d",&number); yanghui(number); } void yanghui(int number){ int i , j , k , z; int array[100][100] = {0}; for (i = 0; i < number; i++) //为每一行的第一个和最后一个数赋值1 { for (j = 0; j <= i; j++) { array[i][0] = 1; if (i == j) { array[i][j] = 1; } } } for( i = 0 ; i < number ; i ++) //控制行数 { for( k = 0 ; k <= i ; k ++) //控制列数 { if(k == 0) //如果是每行第一个数就打印1 { for(z = 0 ; z < number - i ; z ++) //控制每一行前面的空格 { printf(" "); } printf("%d",array[0][0]); printf(" "); }else if(k == i) //如果是每行的最后一个就打印1 { printf("%d",array[0][0]); } if(k != 0 && k != i) //如果不是每行的第一个也不是最后一个就打印上一行两个数的和 { array[i][k] = array[i-1][k-1] + array[i-1][k]; printf("%d",array[i][k]); printf(" "); } } printf("\n"); //每打印一行进行换行 } }
输出:
上一篇: jQuery绑定事件的三种方法
下一篇: jquery 过滤 查找 串联三种方法