问题及代码
#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<<endl;
else cout<<" ";
}
}
return 0;
}
运行结果:
学习感悟:把原理搞懂了就好做,从第三行起,每一行的第二个是前一行的第一个和第二个之和,以此类推。