之间网

杨辉三角c语言编程二维数组(杨辉三角c语言)

精选资讯
导读 今天之间网超哥来为大家解答以上的问题。杨辉三角c语言编程二维数组,杨辉三角c语言相信很多小伙伴还不知道,现在让我们一起来看看吧!1、先...

今天之间网超哥来为大家解答以上的问题。杨辉三角c语言编程二维数组,杨辉三角c语言相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、先定义一个二维数组:a[N][N],略大于要打印的行数。

2、再令两边的数为1,即当每行的第一个数和最后一个数为1。

3、a[0]=a[i-1]=1,n为行数。

4、除两边的数外,任何一个数为上两顶数之和,即a[j]=a[i-1][j-1]+a[i-1][j]。

5、最后输出杨辉三角。

6、代码如下:#include#define N 14void main(){int i,j,k,n=0,a[N][N];/*定义二维数组a[14][14]*/while(n<=0||n>=13){/*控制打印的行数不要太大,过大会造成显示不规范*/printf("请输入要打印的行数:");scanf("%d",&n);}printf("%d行杨辉三角如下:",n);for(i=1;i<=n;i++)a[1]=a=1;/*两边的数令它为1,因为现在循环从1开始,就认为a[1]为第一个数*/for(i=3;i<=n;i++)for(j=2;j<=i-1;j++)a[j]=a[i-1][j-1]+a[i-1][j];/*除两边的数外都等于上两顶数之和*/for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)printf("");/*这一行主要是在输出数之前打上空格占位,让输出的数更美观*/for(j=1;j<=i;j++)/*j<=i的原因是不输出其它的数,只输出我们想要的数*/printf("%6d",a[j]);printf("");/*当一行输出完以后换行继续下一行的输出*/}printf("");}运行结果:请输入要打印的行数:99行杨辉三角如下:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 1扩展资料:杨辉三角概述:1.每个数等于它上方两数之和。

7、2.每行数字左右对称,由1开始逐渐变大。

8、3.第n行的数字有n+1项。

9、4.第n行数字和为2n。

10、5.第n行的m个数可表示为C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。

11、6.第n行的第m个数和第n-m+1个数相等,为组合数性质之一。

12、7.每个数字等于上一行的左右两个数字之和。

13、可用此性质写出整个杨辉三角。

14、即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。

15、即C(n+1,i)=C(n,i)+C(n,i-1)。

16、8.(a+b)n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。

17、9.将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第4n+1个斐波那契数;将第2n行第2个数(n>1),跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。

18、参考资料:百度百科——杨辉三角。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签:

Copyright © 2018 之间网 版权所有.

网站内容来源于网络,如有侵权,请联系,我们将及时处理 .网站地图 | 百度地图