// 输出杨辉三角
//============================使用二位数组来实现===============================
#include<iostream>
using namespace std;
#define max 10 //可改变以控制输出的行数
int main()
{
int i,j;
int a[max][max];
for(i=0;i<max;i++)//make the first col value is 1
a[i][0]=1;
for(i=0;i<max;i++)//notice:j 必须要从1开始,否则的话第一列的数值将出错
for(j=1;j<max;j++)
if(i==j)
a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<max;i++)
{for(j=0;j<=i;j++)//注意,输出时不必输出没有被赋值的数
cout<<a[i][j]<<'\t';
cout<<endl;
}
return 0;
}
//====================可不必特使第一列为1=============================
#include<iostream>
using namespace std;
int main()
{
int i,j;
int a[6][6];
for(i=0;i<6;i++)
for(j=0;j<6;j++)
{ a[i][0]=1;//第一个1
if(i==j)
a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];}
for(i=0;i<6;i++)
{for(j=0;j<=i;j++)
cout<<a[i][j]<<'\t';
cout<<endl;
}
return 0;
}
//=====================================使用递归函数来实现===============================
#include<iostream>
using namespace std;
int fuc(int x,int y)
{
if(y==1 || y==x)return 1;
else return ( fuc(x-1,y)+fuc(x-1,y-1) );
}
int main()
{
int i,j;
for(i=1;i<6;i++)
{ for(j=1;j<=i;j++)
cout<<fuc(i,j)<<'\t';
cout<<endl;
}
return 0
}
//最算是很小的程序也会有很多值得注意的地方,写程序的时候必须要认真。