- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编杨辉三角实验报告
PAGE
PAGE 16
汇编杨辉三角实验报告
篇一:显示杨辉三角实验报告
显示杨辉三角实验报告
姓名:许严 班级:计122 学号:1213023050
1. 问题描述
杨辉三角如图2.4.3所示,其特点是两个腰上数值是1,其他位置上的每一个整数都是它的上一行相邻两个整数之和。问题是:对于指定的最大行数rmax,要求从第一行到第rmax逐行显示杨辉三角形的所有元素。
2. 基本要求
⑴设计输出形式,尽量反映杨辉三角的特点。
⑵设计计算杨辉三角形各行数值的方法。
⑶输入:rmax从键盘输入。
⑷输出:屏幕输出杨辉三角形.
3. 实现提示
⑴存储设计
计算杨辉三角形第i行时,如果在第i-1行两侧各添加一个0,则第i行的第j个元素等于第i-1行的第j-1个元素与第j个元素的和。计算如图2.4.4所示。第i行计算完,第i-1行的数据就没有用了,依据第i行数据可计算第i+1行的数据。
1
11
121
1331
14641
1510 1051
…
图2.4.3杨辉三角形
从上述计算中不难看出,第i行的元素从左往右依次可被求得,求解过程中也是从左往右依次使用地i-1行的数据,显然,具有先入先出的特点。所以,可借助一个队列存放计算过程中所需的数据,如图2.4.5所示。
但随着航数的增加,队列会很长。所以,可以设置一循环队列,队长不少于rmax+2,边计算边出队。
(2)算法设计
计算各行元素的算法步骤如下。
Step1:队列初始化,0、1入队。队头ftont指向0处,队尾指向1后。 Step2:i从1到rmax,循环执行下列操作,求第i行数据。
2.1 0入队。
2.2 从队首起直到队尾,每出队两元素,求和后入队。
输出时注意0不输出。
(3)程序设计
#include lt;iostreamgt;
using namespace std;
#include lt;iomanipgt;
int Fd(int x, int y)
{
int t = 1;
int k = 1;
for(int i = y; i gt; x ; i--)
{
t = t * i;
t = t / k;
k++;
}
return t;
}
int main()
{
int nsize;
coutlt;lt;quot;请输入大小quot;lt;lt;endl;
coutlt;lt;quot;提示:按Ctrl+Z两次退出!quot;lt;lt;endl;
while(cingt;gt;nsize)
{
for(int i = 0; i lt;= nsize; i++)
{
for(int k = 0 ; k lt;= nsize; k++)
{
if(k gt; i)
{
coutlt;lt; quot;;
}
}
for(int j = 0 ; j lt;= i; j++)
{
coutlt;lt;setw(3)lt;lt;Fd(j,i)lt;lt; quot;;
}
coutlt;lt;endl;
}
coutlt;lt;quot;请输入大小quot;lt;lt;endl;
}
return 0;
}
4. 测试与运行
给出行数,从运行结果验证程序设计是否正确。
运行截图:
5. 实验体会
篇二:数据结构实验报告-显示杨辉三角形
数
据
结
构
课
程
实
验
报
告
班级:计嵌141
姓名:陈志远
学号:1413052023
显示杨辉三角实验报告
1.问题描述
杨辉三角如图2.4.3所示,其特点是两个腰上数值是1,其他位置上的每一个整数都是它的上一行相邻两个整数之和。问题是:对于指定的最大行数rmax,要求从第行到第rmax逐行显示杨辉三角形的所有元素。
2.基本要求
⑴设计输出形式,尽量反映杨辉三角的特点。
⑵设计计算杨辉三角形各行数值的方法。
⑶输入:rmax从键盘输入。
⑷输出:屏幕输出杨辉三角形
3.实现提示
⑴存储设计
计算杨辉三角形第i行时,如果在第i-1行两侧各添加一个0,则第i行的第j个元素等于i-1行的第j-1个元素与第j个元素的和。计算如图2.4.4所示。第i行计算完,第i-1行的数据就没有用了,依据第i行数据可计算第i+1行的数据。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…
图2.4.3
杨辉三角形从上述计算中不难看出,第i行的元素从左往右依次可被求得,求解过程中也是从左往右依次使(转自:wWw.CspEnG 蓬勃 范文 网:汇编杨辉三角实验报告)用地i-1行的数据,显然,具有先入先出的特点。所以,可 借助一个队列存放计算过程中所需的数据,如图2.4.5所示。
但随着航数的增加,队列会很长。所以,可以设置一循环队列,队长不少于rmax+2,边计算边出队。
(2)算
文档评论(0)