当前位置: 代码迷 >> C语言 >> 实现打印杨辉三角形的源代码
  详细解决方案

实现打印杨辉三角形的源代码

热度:465   发布时间:2004-10-06 01:55:00.0
实现打印杨辉三角形的源代码

*:杨辉三角形的形式大致如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 .......(略) 他的主要特征是:从第三列开始,除第一个和最后一个数外;其它的数等于前一个数列的本位置数加上其前一个数。

希望有另外求解的网友能够贡献出来和大家一起分享。 其代码如下: #include<stdio.h> {int m,j1,j,i1,i,k[10],j[10],k1; k[0]=1;j[0]=1; for(i1=1;i1<10;i1++) k[i1]=0; for(i=1;i<=10;i++) {for(j1=1;j1<=i;j1++) j[j1]=k[j1]+k[j1-1]; j[i]=1; for(m=1;m<i;m++) k[m]=j[m]; for(k1=0;k1<i;k1++) printf("%d",j[k1]); printf("\n\n"); }

}

注:写于2004.9.29。这个题目我花了三小时才想出来,希望网友更好的算法能提供出来,供大家一起参考! 《本文完!》

[此贴子已经被作者于2004-10-06 01:56:16编辑过]

搜索更多相关的解决方案: 源代码  杨辉三角  打印  

----------------解决方案--------------------------------------------------------

三个小时!!!


----------------解决方案--------------------------------------------------------
是的!
----------------解决方案--------------------------------------------------------

int m,j1,j,i1,i,k[10],j[10],k1;其中有变量 j 和 数组 j[10] 估计是不行的 我不知道在 TC中是怎样的,但是在 VC中,这样肯定是通不过编译的.


----------------解决方案--------------------------------------------------------

第4楼的网友你现在在学习”VC“吗?我现在在学习” C++“。希望以后多多指教。


----------------解决方案--------------------------------------------------------
我还以为哦

你打印的是这样的啊:

1

11

121

1331

........

根本没放在中间


----------------解决方案--------------------------------------------------------

我编过。半个小时吧

比较简单的。 楼上的结果要想打印出来很简单,可以这样想:让输出的每一位数后面都加上一个空格,即:

printf("%d ",a[i][j]);%d后面有空格的,然后再在每一行的前面加上应加的空格就可以了。


----------------解决方案--------------------------------------------------------

#include<stdio.h> #define M 10 main() {int i,j,n; int a[M][M]; scanf("%d",&n); for(i=1;i<=n;i++) {a[i][1]=1; a[i][i]=1; } for(i=3;i<=n;i++) for(j=2;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1;i<=n;i++) {for(j=1;j<=n-i+1;j++) printf(" "); for(j=1;j<=i;j++) printf("%d ",a[i][j]); printf("\n"); } getch(); }


----------------解决方案--------------------------------------------------------