关键是下一行与上一行的关系
另外保证每一行的首尾均为1
~水过
#include <iostream>
#include<cstring>
using namespace std;
int main() {
int n,i,j;
int arrp[30],arrn[30];
while(cin>>n) {
arrp[0]=arrp[1]=arrn[0]=1;
cout<<1<<endl;
if(n==1){
cout<<endl;
continue;
}
cout<<1<<' '<<1<<endl;
if(n==2){
cout<<endl;
continue;
}
for(i=3; i<=n; i++) {
cout<<1<<' ';
for(j=1;j<i-1;j++){
arrn[j]=arrp[j-1]+arrp[j];
arrp[j-1]=arrn[j-1];
cout<<arrn[j]<<' ';
}
arrp[i-2]=arrn[i-2];
arrp[i-1]=1;
cout<<1<<endl;
}
cout<<endl;
}
return 0;
}