⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yhsj.txt

📁 杨辉三角的结构大家都熟悉
💻 TXT
字号:
#include<iostream.h>
#define MAX 100
void main()
{
int a[MAX][MAX],i,j,n;
cout<<"Enter n=";
cin>>n;
for(i=0;i<n;i++)
{
a[i][0]=1;//将边界上的点
a[i][i]=1;//赋值为1
}
for(i=1;i<n;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];//自己画个数组出来直观些
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
}
#include <iostream.h>
#include <iomanip.h>

typedef long (*FunPtr)( long, long );

long Factorial( long value );
long GetElementMethod1( long row, long col );
long GetElementMethod2( long row, long col );
void Output( long step, FunPtr funptr );

// 程序入口点
int main()
{
FunPtr funptr;

// 使用数学公式方法输出杨辉三角
funptr = GetElementMethod1;
Output( 6, funptr );

cout << endl;

// 使用递归输出杨辉三角
funptr = GetElementMethod2;
Output( 6, funptr );

return 0;
}

// 获取当前参数的阶乘值
long Factorial( long value )
{
if ( value == 0 || value == 1 )
return 1;
else
return value * Factorial( value - 1 );
}

// 获取杨辉三角第row行第col列元素的值
long GetElementMethod1( long row, long col )
{
return Factorial( row ) / ( Factorial( row - col ) * Factorial( col ) );
}

// 获取杨辉三角第row行第col列元素的值
long GetElementMethod2( long row, long col )
{
if ( col == 0 || row == col )
return 1;
else
return GetElementMethod2( row - 1, col - 1 ) + GetElementMethod2( row - 1, col );
}

// 输出杨辉三角,step为杨辉三角的阶数。
void Output( long step, FunPtr funptr )
{
for ( int row = 0; row <= step; ++row )
{
for ( int col = 0; col <= row; col++ )
{
cout << setw( 5 ) << funptr( row, col );
}

cout << endl;
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -