收藏 分销(赏)

输出杨辉三角形设计方案报告.doc

上传人:天**** 文档编号:2712429 上传时间:2024-06-04 格式:DOC 页数:15 大小:100.04KB 下载积分:8 金币
下载 相关 举报
输出杨辉三角形设计方案报告.doc_第1页
第1页 / 共15页
输出杨辉三角形设计方案报告.doc_第2页
第2页 / 共15页


点击查看更多>>
资源描述
《C程序设计》 课程设计报告 (— 第2学期) 题 目: 输出杨辉三角 学 院: 电气与电子工程学院 班 级: 电气1309 学 号: 姓 名: 黄铮 指引教师: 罗涛华 时 间:起 .4.27 止 .4.30 一、课程设计概述 课程设计问题描述 杨辉三角,又称贾宪三角形、帕斯卡三角形,是二项式系数在三角形中一种几何排列。在我过南宋数学家杨辉所著《详解九章算术》一书中用杨辉三角形解释二项式和乘方规律。与杨辉三角联系最紧密是二项式乘方展开式系数规律,即二项式定理。 1 1 1 1 2 1 设计规定 依照杨辉三角图形分析出数字间规律;规定用四种办法输出杨辉三角形前n(1<n<20)行。 设计目 掌握所学语言程序设计办法,熟悉 所学语言开发环境及调试过程,熟悉所学语言中数据类型,数据构造、语句构造、运算办法,巩固和加深对理论课中知识理解,提高学生对所学知识综合运用能力。 开发环境 本程序采用Microsoft Visual C++ 6.0英文版本进行编译。Visual C++是微软公司推出基于Windows操作系统可视化C++编程工具。 二、总体设计(1) 系统功能需求分析 此系统重要功能是用四种不同办法输出杨辉三角前n(1<n<20)行。要实现目的就要完毕如下环节: 1、 要纯熟掌握有关C语言知识。 2、 要纯熟掌握杨辉三角基本规律。 ① 杨辉三角第n行中n个数之和等于2n-1次幂。 ② 每个数字都等于它上方两数之和。 ③ 每行数字左右对称,由1开始逐渐变大。 ④ 第n行数字有n+1项。 ⑤ (a+b)n次幂展开式中各项系数依次相应杨辉三角第n+1行中每一项。并由二项式系数规律推出公式:k=k*(i-j)/j。 3、 将杨辉三角基本规律转换为C语言程序 4、 调试C语言,找出其中错误。 此系统实现核心是掌握杨辉三角基本规律,以及C语言转换。 二、总体设计(2) 系统总体设计框架 逐行输出杨辉三角 成果 换行 计算每行中间各个数字 将每一行第一位和最后一位初始化 提示字符,输入行数 开始 三、详细设计(1) 重要功能模块 1 算法设计 解法一: 一方面定义一种二维数组,长度为21,21。接着定义三个变量i,j,n。然后输出提示字符,输入杨辉三角行数。再用一种for循环将每一行第一种数字与最后一种数字初始化。然后用双重for循环计算每一行中间各个数字。最后再用双重for循环输出每一种数字并且换行。 解法二: 一方面定义一种二维数组,长度为21,21,。接着定义三个变量i,j,n。然后输出提示字符,提示输入杨辉三角行数。将每一行第一种数字和最后一种数字初始化置于双重for循环中,减少一种循环,并计算每一行中间各个数字。最后用双重for循环输出每一种素质并且换行。 三、详细设计(1) 重要功能模块 1 源程序 解法一 #include<stdio.h> void main() { int a[21][21]; int i,j,n; printf("请输入杨辉三角行数"); scanf("%d",&n); for(i=0;i<n;i++) {a[i][0]=1,a[i][i]=1;} for(i=2;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++) printf("%5d",a[i][j]); printf("\n"); } } 解法二 #include<stdio.h> void main() { int a[100][100]; int i,j,n; printf("请输入杨辉三角行数:"); scanf("%d",&n); for(i=0;i<n;i++) { a[i][0]=1,a[i][i]=1; 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++) printf("%5d",a[i][j]); printf("\n"); } } 三、详细设计(2) 重要功能模块 2 算法设计 解法三: 一方面声明一种子函数,声明变量n。主函数中一方面输出提示字符,提示输入杨辉三角函数,并调用子函数。子函数中一方面定义二维数组长度为21,21,定义两个变量i,j。用双重for循环将每一行第一种数字和最后一种数字初始化,并计算出每一行中间其她各个数字,最后用双重for循环和输出每一种数字并且换行。 解法四: 一方面定义四个变量i,j,n,k。接着输出提示字符,提示输入杨辉三角行数。然后用双重for循环,将k赋值为1,并用二项式系数推出公式k=k*(i-j)/j计算出每一行每一种数字,最后换行。 三、详细设计(2) 重要功能模块 2 源程序 解法三 #include<stdio.h> void Yanghui(int n); int main() { int n; printf("请输入杨辉三角行数:"); scanf("%d",&n); Yanghui(n); return 0; } void Yanghui(int n) { int i,j; int a[100][100]; for(i=0;i<n;i++) { a[i][0]=1,a[i][i]=1; 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++) printf("%5d",a[i][j]); printf("\n"); } } 解法四 #include<stdio.h> void main() { int i,j,n,k; printf("请输入要输出杨辉三角行数:"); scanf("%d",&n); for(i=1;i<=n;i++) { k=1; for(j=1;j<=i;j++) { printf("%5d",k); k=k*(i-j)/j; } printf("\n"); } } 四、调试分析过程(1) 调试过程浮现问题 1、 函数定义浮现错误,漏掉函数声明。 2、 定义精度浮现问题。 3、 大括号上下括号相应出错,下括号掉了,导致程序无法运营。 4、 C语言书写错误,掉了字母或写错字母。 5、 C语言知识不纯熟,无法使用各种办法输出杨辉三角形。 6、 一位数组中变量浮现错误,导致程序崩溃。 问题解决办法 1、 补充函数声明。 2、 重新定义精度。 3、 运用系统自动检测功能,在相应位置添加大括号。 4、 重新查阅书籍,重复检查,改正错误C语言。 5、 查阅资料,寻找更多解题办法。 6、 重复检查,找出错误地方并改正。 四、调试分析过程(2) 测试数据 输出n=12行杨辉三角形 测试成果 五、总结 设计用到知识点 1、 循环构造。 2、 数组。 3、 调用函数。 收获与体会 复习了c语言,掌握了写报告基本知识办法,初步实现把语言转换成c语言知识和思维方式。更重要是学会了如何在拿到一种题目后进行简朴程序分析,并编译出某些相对简朴程序。 局限性与努力方向 把现实语言转换成C语言还是有一定难度,不但这方面知识很欠缺,并且逻辑思维也不是很到位,基本技能不够纯熟。后来应当多学习、多练习关于这方面知识,多适应这种逻辑思维。 六、参照文献 参照书籍 1. 谭浩强著. C程序设计(第3版). 北京:清华大学出版社,.7 2. 刘光蓉、汪靖、陆登波主编. C程序设计实验与实践教程. 北京:清华大学出版社,.2. 3. 游洪跃主编. C语言程序设计实验与课程设计教程. 北京:清华大学出版社,.5 参照论文 无 参照网址 www.百度.com 课程设计成绩评审表 姓名 黄铮 学号 班级 电气1309 设计题目 输出杨辉三角形 作品描述 用四种不同办法输出前n(1<n<20)行杨辉三角形。 更上一层楼中将杨辉三角形变为了等腰杨辉三角形。 指引教师评语 观测内容 分值 评 分(上限) 得 分 A B C D E 程序运营状况 20 20 15 10 5 3 程序功能完善限度 10 10 8 6 4 2 程序构造合理性 10 10 8 6 4 2 对问题答辩状况 20 20 15 10 5 3 创新状况 10 10 8 6 4 2 工作态度与独立工作能力 10 10 8 6 4 2 设计报告规范性 20 20 15 10 5 3 指引教师评估成绩 指引教师(签名) 年 月 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服