




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计课程设计报告(2014 2015学年第2学期)题 目: 输出杨辉三角 学 院: 电气与电子工程学院 班 级: 电气1309 学 号: 1304080020 姓 名: 黄铮 指导教师: 罗涛华 时 间:起 2015.4.27 止 2015.4.30 一、课程设计概述课程设计问题描述 杨辉三角,又称贾宪三角形、帕斯卡三角形,是二项式系数在三角形中的一种几何排列。在我过南宋数学家杨辉所著的详解九章算术一书中用杨辉三角形解释二项式和乘方规律。与杨辉三角联系最紧密的是二项式乘方展开式的系数规律,即二项式定理。11 11 2 1设计要求 根据杨辉三角图形分析出数字间的规律;要求用四种方法输出杨辉三角形的前n(1n20)行。设计目的 掌握所学语言程序设计的方法,熟悉 所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。开发环境 本程序采用Microsoft Visual C+ 6.0的英文版本进行编译。Visual C+是微软公司推出的基于Windows操作系统的可视化C+编程工具。二、总体设计(1)系统功能需求分析 此系统的主要功能是用四种不同的方法输出杨辉三角的前n(1n20)行。要实现目标就要完成以下步骤:1、 要熟练掌握相关的C语言知识。2、 要熟练掌握杨辉三角的基本规律。 杨辉三角第n行中的n个数之和等于2的n-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 源程序解法一#includevoid main() int a2121;int i,j,n;printf(请输入杨辉三角的行数);scanf(%d,&n);for(i=0;in;i+)ai0=1,aii=1;for(i=2;in;i+)for(j=1;ji;j+) aij=ai-1j-1+ai-1j;for(i=0;in;i+)for(j=0;j=i;j+) printf(%5d,aij); printf(n); 解法二#includevoid main()int a100100;int i,j,n;printf(请输入杨辉三角的行数:);scanf(%d,&n);for(i=0;in;i+) ai0=1,aii=1;for(j=1;ji;j+) aij=ai-1j-1+ai-1j;for(i=0;in;i+)for(j=0;j=i;j+) printf(%5d,aij); 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 源程序解法三#includevoid Yanghui(int n);int main() int n;printf(请输入杨辉三角的行数:);scanf(%d,&n);Yanghui(n);return 0;void Yanghui(int n)int i, j;int a100100;for(i=0;in;i+) ai0=1,aii=1;for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;in;i+)for(j=0;j=i;j+)printf(%5d,aij);printf(n);解法四#includevoid 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版). 北京:清华大学出版社,2005.72.刘光蓉、汪靖、陆登波主编. C程序设计实验与实践教程. 北京:清华大学出版社,2011.2.3.游洪跃主编. C语言程序设计实验与课程设计教程. 北京:清华大学出版社,2011.5参考论文无参考网址课程设计成绩评审表姓名黄铮学号1304080020班级电气1309设计题目输出杨辉三角形作品描述用四种不同的方法输出前n(1n20)行的杨辉三角形。更上一层楼中将杨辉三角形变为了等腰的杨辉三角形。指导教师评
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防汛应急抢险培训
- 天津仁爱学院《古代文学4》2023-2024学年第一学期期末试卷
- 2025建筑工程公司目标成本预算承包合同
- 景德镇艺术职业大学《多文体阅读(二)》2023-2024学年第二学期期末试卷
- 2025的企业劳动合同
- 2025商场宣传承包合同示范文本
- 济南护理职业学院《园林植物栽培学实践(二)》2023-2024学年第二学期期末试卷
- 南水北调大工程施工方案
- 逆做挡墙施工方案
- 2025年茶叶包装设计作品版权转让合同书
- 学会自我保护课件
- 2025年辽宁省能源控股集团所属辽能股份公司招聘笔试参考题库附带答案详解
- 第五课 我国的根本政治制度课件高考政治一轮复习统编版必修三政治与法治
- 2024年南通市公安局苏锡通园区分局招聘警务辅助人员考试真题
- 精神科护理不良事件分析讨论
- 填海石采购合同6篇
- 江苏省苏州市2022-2023学年高二下学期数学期中试卷(含答案)
- 中华人民共和国国家安全法全文
- 人工智能导论-第2版-全套课件
- 勘察任务委托书范本
- 数控技术(第4版)课件:数控技术的发展及机械加工自动化
评论
0/150
提交评论