实际上,杨辉三角可以用多种方法实现,我用以下方法实现,尽量做了注释,你看看吧:
//数组方法实现:可以输出多个杨辉三角,先输入行数,直到输入0为止,程序会自动记录输入的个数
#include
#include
using namespace std;
int yanghui(int);
int main()
{
int n,n_array[100],count=0,i;
cin>>n;
while(n!=0) //支持多个杨辉三角型的打印,记录个数输入 0 结束!
{
n_array[count]=n; //记录每一个杨辉三角的位置(先后顺序)
count++; //记录打印个数
cin>>n; //输入每一个杨辉三角的行数
}
for(i=0;i
{
yanghui(n_array[i]); //调用函数
}
return 0; //程序正常运行
}
int yanghui(int n)
{
int i,j,a[100][100]; //定义一个二维数组 a,包含可以容纳100个元素
n=n+1;
for(i=1;i
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i
{
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; //一个数等于上两个数之和
}
for(i=1;i
{
for(int k=n-i;k>0;k--)
cout<
for(j=1;j<=i;j++)
{
cout<
}
cout<
}
return 0;
}
演示,我输入一个举例,输入行数 10,之后不输入第二个行数,直接输入0,跳出(就只包含一个杨辉三角,也可以在输入第个行数,在输入0为止)
-----------------------------------------------------------------------------------------------------------------------------