====================================================================
递归实现杨辉三角:
#include <iostream>
using namespace std;
int computeTriangleElement(int level,int index);
void yanghuiTriangle(int level);
void yanghuiTriangle(int level)
{
for(int i=1;i<=level;i++)
{
for(int j=1;j<=i;j++)
{
cout<<computeTriangleElement(i,j)<<' ';
}
cout<<endl;
}
}
int computeTriangleElement(int level,int index)
{
if(index==1||index==level)
return 1;
return computeTriangleElement(level-1,index-1)+computeTriangleElement(level-1,index);
}
int main()
{
int level;
cout<<"请输入杨辉三角的高度:"<<endl;
cin>>level;
yanghuiTriangle(level);
return 0;
}
====================================================================
====================================================================
输出直角三角形的杨辉三角:
#include <stdio.h>
#define M 10
void main()
{
int a[M][M],i,j;
for( i=0;i<M;i++ )
{
for( j=0;j<i+1;j++ )
{
if( i==j||j==0 )
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf( "%d, ",a[i][j] );
}
printf( "\n" );
}
}
===========================================================================
===========================================================================
输出直角金字塔形的杨辉三角:
#include<stdio.h>
void main()
{
int a[10][10],i,j;
for(i=0;i<10;i++)
{
for(j=10;j>=i;j--)
printf("%2c",' ');/*两个空格*/
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%3d ",a[i][j]); /*%3d后一个空格*/
if(i==j)
printf("\n");
}
}
}
======================================================================