c语言二维数组经典例题及详解(C编程实战二维数组应用之打印杨辉三角形)
c语言二维数组经典例题及详解(C编程实战二维数组应用之打印杨辉三角形)
题目描述找出杨辉三角形的规律,并根据输入n(1≤n≤100)总行数,输出对应的数字图形(先生成再输出,每个数据所占场宽为4)。
杨辉三角前十行
算法分析:杨辉三角的规律为:左右两边数字均为1,每行数字左右对称,第n行的数字有n项,由1开始逐渐变大,中间的每个数均等于它上方两数之和。参考程序:#include<bits/stdc .h>
using namespace std;
const int MAXN=101;
int main()
{
int m;
cin>>m;
int yh[MAXN][MAXN];
for(int i=1;i<=m;i )
{
for(int j=1;j<=i;j )//每行有i项
{
if(j==1||i==j)//通项公式
yh[i][j]=1;
else
yh[i][j]=yh[i-1][j-1] yh[i-1][j]; //通项公式
}
}
for(int i=1;i<=m;i )
{
for(int j=1;j<=i;j )
{
cout<<setw(4)<<yh[i][j];
}
cout<<endl;
}
return 0;
}