循环结构实验报告范本_第1页
循环结构实验报告范本_第2页
循环结构实验报告范本_第3页
循环结构实验报告范本_第4页
循环结构实验报告范本_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、深 圳 大 学 实 验 报 告 课程名称: 程序设计基础 实验项目名称: 循环结构 学院: 计算机与软件学院 专业: 数学与计算机实验班 指导教师: 张艳 报告人: 黎琳 学号:2013150116 班级: 数学与计算机实验班 实验时间: 2013-11-20 实验报告提交时间: 2013-11-22 教务处制一、实验目的与要求:实验目的:1理解结构化程序设计方法的循环结构;2掌握用for语句实现循环结构;3掌握用while、dowhile语句实现循环结构;4理解for、while、dowhile三者的区别;5掌握转向语句break、continue;6掌握上机调试的方法。实验要求:1输入数据

2、、输出数据应加以说明(交互性);2程序应注意使用注释语句(可读性);4对各种可能的输入情况都要考虑处理方案(健壮性);5熟悉for、while、dowhile、break、continue语法。6在blackboard上提交C+源程序或执行文件、输出界面拷屏至实验报告;7按报告内容要求完成实验报告。二、实验环境:地点: 深圳大学机器编号:lily操作系统:windows 8C+语言环境:VC 6.0 project类型:WIN32 Console Application17三、实验内容:1求所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该 数本身。例:153是水仙花树,

3、因为:153 = 13 + 53 + 33。 2重复输入n(1n10),输出1!+ 2!+n!的结果。输入ctrl+z,退出程序。3. 打印如下九九乘法表。123456789112243369448121655101520256612182430367714212835424988162432404856649918273645546372814. 编程,输入一个十进制数num,输入一个整数d(2、8),将num转换为d进制 数输出。(要求用while 或 dowhile实现) 四、实验步骤与过程:(给出各题主要变量定义、解题思路、流程图(可手画),并附上代码,注意注视语句的添加。)1 求所有

4、“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该 数本身。例:153是水仙花树,因为:153 = 13 + 53 + 33。l 解题思路:首先对数字进行分解,即百位整除100得到百位上的数字;十位上即可通过先对100求余得到一个两位数,再对两位数整除,即分解得十位数;求个位数直接整除10即可;分解完数字后即对数字进行计算;然后开始判断该数字是否满足条件,满足即输出,不满足继续向后求;key:因为这是3位数,所以采用循环结构将所有三位数判定一遍,输出符合条件的。l 主要变量:数字,分解后的三个数为整型变量。l 流程图见下:l 编程时应注意各个符号,不可遗漏,还有for循环的使

5、用语法;判断循环条件的设置;输出方式的设置,即输出所有的水仙花数;还须注意程序的交互性,提示信息;具体见下面代码:代码1:水仙花数流程图1:求水仙花数2.重复输入n(1n10),输出1!+ 2!+n!的结果。输入ctrl+z,退出程序。l 解题思路:需要重复输入n,考察对返回值的判断理解,即对输入值进行判断,首先给出输入值的变量定义,然后对输入值的返回值进行判断,满足条件即执行下面步骤,包括重复输入的循环,不满足即退出;输入符合条件的n后,开始计算n!,利用循环结构从1走到n,后输出结果;再继续重复。l 主要变量定义:输入的数字,中间转换变量,数字的阶乘均为整型变量。l 流程图见下:l 编程时

6、应注意循环结构的嵌套,即内层循环用于计算n!,外层循环用于控制n的重复输入,其中包括了对n返回值的判断和限制了范围;程序的交互性。详细代码如下: 代码2: 求n! 流程图2:求n!3. 打印如下九九乘法表。12345678911224336944812165510152025661218243036771421283542498816243240485664991827364554637281l 解题思路:乘法表的输出需考虑两点,一是输出格式的控制,二是乘法的计算。首先输出行19,利用一个for循环实现;然后控制列的输出与计算,采用两个for嵌套,即按列计算输出,首先输出第一列的结果,然后依次

7、2、3、9列;为控制格式的对齐,开头和列输出过程中都使用”/t”自动间隔对齐。l 流程图见下:l 编写程序时,充分考虑格式的输出对齐,以及for嵌套的书写。详细代码如下:代码3:输出乘法表流程图3:输出乘法表4.编程,输入一个十进制数num,输入一个整数d(2、8),将num转换为d进制 数输出。(要求用while 或 dowhile实现)l 解题思路:首先要熟练掌握进制转换算法,十进制化其他进制,即采用整除求余法,除以转换进制一直到商为0,再将所有余数从后到前排,所得数即为转换后的数;因为转换进制不明确,所以还须对输入进制进行判断。采用while循环对十进制数整除求余,并将每一次求得的余数赋

8、予数组,计数;对输入进制的判断采用if判断;最后对数组倒序输出。l 流程图见下:l 编程时,要注意中间变量的使用;数组的赋值与定义;对d值的判断;对数组输出位数的判断条件,注意i的初始化赋值;详细代码如下: 代码4:进制转换流程图4:进制转换五、实验结果与数据分析:(有运行结果的界面截图,实验结果与实验结果分析,说明实验结果是否达到要求?并提出对程序的改进想法)。实验一:求水仙花数,运行结果界面如下: 实验一:求水仙花数l 实验结果:输出所有水仙花数。l 实验结果分析:达到要求。实验二:重复输入n(19),求n的阶乘;运行界面如下: 实验二:求n!(110)l 实验结果:输入110的数字,可正

9、确计算结果;输入超出范围的数字时,结束程序;可重复输入;输入ctrl+z退出程序。l 实验结果分析:基本达到要求;不足:当输入310时,输出结果正确且格式严谨;但输入1或2时,输出界面不太规范。l 改进:可另外加一个选择结构即输入1或2时,另外单独显示为1!=1或1!+2!=3,,使得输出更为严谨规范。改进后代码如下:改进后代码程序运行界面如下: 改进后实验三:输出乘法表,见下图:实验三:输出乘法表l 实验结果:如上图l 实验结果分析:达到实验要求。实验四:进制转换 实验四:图一 实验四:图二 实验四:图三l 实验结果:如上图所示l 实验结果分析:达到实验要求。l 改进:可继续优化的地方,即考

10、虑输入数字有小数的情况,可采用函数等优化。六、实验体会:(自己在编程或程序编译运行中遇到的难点、问题及解决办法)1对重复输入n的控制,如何实现直接对n值输入类型的判断将“cin>>n”放入while中,会对n的返回值进行判断,当输入n为所定义的类型后继续执行,不是则退出。2.对乘法表输出格式对齐的调整?要一一对齐输出,计算空格较为麻烦,采用“t”,可自动间隔并对齐。3.进制转换时,如何让所求余数倒序输出?要倒序输出,首先要有一个量把每一个余数都记录下来,然后才能控制倒序,所以想到采用数组,记录每一个余数。4.可是由于输入的数不确定大小,不知道会出现多少次求余,因此对于数组空间大小的给定不确定,太大浪费空间,太小无法执行,该怎么解决? 待解决问题5在进制转换中,若有小数,该怎么分解开来? 待解决问题6当程序可以运行,但运行结果不对如何检查? 自己对程序进行调试,在可能有错处插入断点,进行跟踪检查,对相关变量的值进行跟踪判断,从而找寻问题所在。七、自我评价:(请给自己此次实验进行百分制打分并说明理由)自我评分:90理由:基本达到程序实验要求,相关提示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论