题目:输入n(n不大于20),输出n层杨辉三角。
思路:杨辉三角第一列和主对角线都为1,从第三行开始,其余元素都是上一行同列元素和上一行前一列元素的和。
代码:
#include <stdio.h>
#include<stdlib.h>
int main(){
int n,a[21][21];
scanf("%d",&n);
for(int i=1;i<=n;i++){
a[i][1]=1;
a[i][i]=1;
}
for(int i=3;i<=n;i++){
for(int j=2;j<i;j++){
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
printf("%-4d",a[i][j]);
}
printf("\n");
}
}
笔者水平有限,不到之处,还望诸位批评指正。