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),这是组合数性质
【思路一】
用队列实现
![](http://images.cnitblog.com/blog/489434/201302/27140427-3d3fbfd0b9124ca680a2b931010543fb.jpg)
![](http://images.cnitblog.com/blog/489434/201302/27140446-c10efe7ba29f4d6b99a5678bc9fb171d.jpg)
【思路二】
用二维数组实现
![](http://images.cnitblog.com/blog/489434/201302/27140611-e525889670fa47f3842cba9abac10cd1.jpg)
![](http://images.cnitblog.com/blog/489434/201302/27140623-13bcc17d71cc4c18b203bb1ac41ce5f1.jpg)
代码:
运行结果:
·前提:端点的数为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),这是组合数性质
【思路一】
用队列实现
![](http://images.cnitblog.com/blog/489434/201302/27140427-3d3fbfd0b9124ca680a2b931010543fb.jpg)
![](http://images.cnitblog.com/blog/489434/201302/27140446-c10efe7ba29f4d6b99a5678bc9fb171d.jpg)
【思路二】
用二维数组实现
![](http://images.cnitblog.com/blog/489434/201302/27140611-e525889670fa47f3842cba9abac10cd1.jpg)
![](http://images.cnitblog.com/blog/489434/201302/27140623-13bcc17d71cc4c18b203bb1ac41ce5f1.jpg)
代码:
/** * 输出杨辉三角 * @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; }
运行结果:
![](http://images.cnitblog.com/blog/489434/201302/27140808-2de0073a1e8043deb159db60390ab09e.jpg)
相关文章推荐
- C++学习实战——通过动态分配内存打印杨辉三角
- C++杨辉三角完美打印输出
- C/C++学习之C提高-----非空格的字符串长度、去掉字符串前后空格、字符串反转、键值对字符串、const练习、二级指针做输入/输出的特性、将字符串按逗号分开,并放入二维数组打印出来
- C++作业01_02:100元钱,由2元、1元、5角三种面额组成,且一共有100张,试打印出各种组合
- [C/C++] 基础练习 01 字串
- python基础练习--打印杨辉三角!
- c/c++练习--01
- 团体程序设计天梯赛-练习集L1-002. 打印沙漏 C++
- Python 中使用 for、while 循环打印杨辉三角练习(列表索引练习)。
- C语言 · c++_ch02_01(打印元音字母的ASCII码)
- 如何用C++打印杨辉三角
- C++打印杨辉三角
- C/C++学习笔记[01].纵向打印整数
- 打印杨辉三角(直角) 练习
- C++编写利用数据结构中队列(Queue)打印出用户所指定长度的杨辉三角
- c++练习(一)
- c和c++一些区别----01
- python|打印杨辉三角
- C/C++语法[01]---C++默认参数与函数重载 注意事项
- 《Thinking in c++》第二册 ————第三章 练习一