问题及代码
#include <iostream> #include <string> using namespace std; int main() { int a[30][30],n,x,y; cin>>n; for(x=0; x<n; x++) { a[x][0]=1; a[x][x]=1; } for(x=2; x<n; x++) for(y=1; y<x; y++) a[x][y]=a[x-1][y-1]+a[x-1][y]; for(x=0; x<n; x++) { for(y=0; y<=x; y++) { cout<<a[x][y]; if(y==x) cout<<'\0'; else cout<<" "; } cout<<endl; } return 0; }
学习感悟:把原理搞懂了就好做,从第三行起,每一行的第二个是前一行的第一个和第二个之和,以此类推。
原文地址:http://blog.csdn.net/blue_skyrim/article/details/41557359