看了一堆并观察分析用c写的程序后,我发现这么写是最舒服且简单明了
#include<stdio.h>
int main(){
int a[25][25], n; //25可以换,比20大就行
scanf("%d", &n);
a[0][0] = a[1][0] = a[1][1] = 1;//把前三个1 1 1确定
if(n>2){
for(int i=2; i<n;i++){
a[i][0] =a[i][i]= 1; //规定所有第一列和侧着都是1
for(int j=1; j<i; j++){
a[i][j] = a[i-1][j-1] + a[i-1][j];//解决中间不包括1的所有数
}
}
}
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++){
printf("%d ", a[i][j]);
}
printf("\n");//注意换行
}
return 0;
}
值得说的是,在for嵌套里面,拿最后输出部分程序来说在i=0,i<n的基础上,对于j循环执行的条件是j<=i,而不是下意识的认为n,