1.本来想像上道题一样,scanf("%d",&n);后再int s[n+1][n+1];,会出现奇怪的数字,好像是未赋值的,不知道为什么
2.注意第一个双重循环是j<i,第二个是j<=i。第一个循环在i==j时不用赋值,但是第二个要打印。
#include<cstdio>
using namespace std;
int s[40][40];
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
s[i][0]=s[i][i]=1;
for(int j=0;j<i;j++){
s[i][j]=s[i-1][j-1]+s[i-1][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
printf("%d ",s[i][j]);
}
printf("\n");
}
return 0;
}