杨辉三角形
可以将杨辉三角形的值放在一个方形矩阵的下半三角中,如需打印7行杨辉三角形,应该定义等于或大于7x7的方形矩阵,只是矩阵的上半部分和其余部分并不使用。
杨辉三角形具有以下特点:
(1)第一列和对角线上的元素都为1;
(2)除第一列和对角线上的元素之外,其他的元素的值均为前一行上的同列元素和前一列元素之和。
代码如下
#include <stdio.h>
#define N 10
void setdata(int (*s)[N],int n){
int i,j;
for(i=0;i<n;i++) //第一列和对角线上的元素都置1
{
s[i][i] = 1; s[i][0]=1;
}
for(i=2;i<n;i++){ //给杨辉三角形其他元素置数
for(j=1;j<i;j++){
s[i][j]=s[i-1][j-1]+s[i-1][j];
}
}
}
void outdata(int s[][N],int n){
int i,j;
printf("杨辉三角形:\n");//只输出矩阵下半三角
for(i=0;i<n;i++){
for(j=0;j<=i;j++){
printf("%6d",s[i][j]);
}
printf("\n");
}
}
main(){
int y[N][N],n=7;
setdata(y,n);//按规律给数组元素置数
outdata(y,n);//输出杨辉三角形
}