您的位置:首页 > 编程语言 > C语言/C++

C++练习01 ---- 打印杨辉三角

2013-02-27 14:12 246 查看
百度百科列出的一些性质:
  ·前提:端点的数为1.
  ·1、每个数等于它上方两数之和。
  ·2、每行数字左右对称,由1开始逐渐变大。
  ·3、第n行的数字有n项。
  ·4、第n行数字和为2^(n-1)。2的(n-1)次方
  ·5、第n行的第m个数和第n-m+1个数相等,即C(n-1,m-1)=C(n-1,n-m),这是组合数性质

【思路一】

  用队列实现





【思路二】

用二维数组实现





代码:

/**
* 输出杨辉三角
* @author CocoonFan
* @date 2/27/2013
*/

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int n;
while(cout << "要打印多少行? ",cin  >> n && n > 0)
{
int i,j,a

;

//第一步:初始化
for (i=0;i < n;i++)
{
a[i][i] = 1;
a[i][0] = 1;
}

//第二步:循环相加
for (i = 2;i < n;i++)
for (j=1;j<=i-1;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<<setw(4)<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;

}

return 0;
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: