有需要杨辉三角的同学进来取代码(这是纯自己的思维写的,没借助外力,所以也请各位兄弟拍砖指正)
程序代码:
#include <stdio.h> //本程序演示了用二维数组来输出一个9行9列的杨辉三角 int main(void) { int n=9; int yhsj[9][9]; int i,j; /////为二维数组赋初值 for(i=0;i<n;i++) for(j=0;j<n;j++) { yhsj[i][j]=0; } //以下用杨辉三角公式填充二维数组 yhsj[0][0]=1; for(i=1;i<n;i++) for(j=0;j<=i;j++) { if(j==0) yhsj[i][j]=yhsj[i-1][j]; else //处理数组第一列 if(j==n-1) yhsj[i][j]=yhsj[i-1][j-1];else //处理数组最后一列 yhsj[i][j]=yhsj[i-1][j-1]+yhsj[i-1][j]; } //以下用于屏幕输出二维数组 for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(yhsj[i][j]>0) { printf("%4.0d",yhsj[i][j]); //原计划输出一个等腰三角形 //但是输出效果不尽人意,所以改输直角三角形了 } } printf("\n"); } return 0; } /* 输出效果图 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 */
[ 本帖最后由 wp231957 于 2012-11-28 10:45 编辑 ]