C语言常用算法
if(i==j) a[i][j]=1; else if(i printf(\ printf(\ } } 例2、输出如下5阶方阵。 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 #define N 5 main() {int a[N][N],i,j; for(i=0;i a[i][j]=i+j+1; /*沿副对角线平行线方向考察每个元素,其值等于行列值之和+1*/ for(i=0;i printf(\ printf(\} (2)杨辉三角形 杨辉三角形的每一行是(x+y)n的展开式各项的系数。例如第一行是(x+y)0,其系数为1;第二行是(x+y)1,其系数为1,1;第三行是(x+y)2,其展开式为x2+2xy+y2,系数分别为1,2,1;??直观形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ?? 分析以上形式,可以发现其规律:是n阶方阵的下三角,第一列和主对角线均为1,其余各元素是它的上一行、同一列元素与上一行、前一列元素之和。 例1、编程输出杨辉三角形的前10行。 #define N 10 main() C语言常用算法 {int a[N][N],i,j; for(i=0;i a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i printf(\ printf(\ } } 例2、以等腰三角形的形状输出杨辉三角形的前5行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 #define N 5 main() {int a[N][N],i,j; for(i=0;i a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i {for(j=N-i;j>=0;j--)printf(\ \ /*输出时每行前导空格递减*/ for(j=0;j<=i;j++) printf(\ printf(\ } }