c语言实验报告实验一结构化设计方法1函数与简单程序设计

上传人:博****1 文档编号:563883787 上传时间:2022-11-08 格式:DOC 页数:80 大小:1.33MB
返回 下载 相关 举报
c语言实验报告实验一结构化设计方法1函数与简单程序设计_第1页
第1页 / 共80页
c语言实验报告实验一结构化设计方法1函数与简单程序设计_第2页
第2页 / 共80页
c语言实验报告实验一结构化设计方法1函数与简单程序设计_第3页
第3页 / 共80页
c语言实验报告实验一结构化设计方法1函数与简单程序设计_第4页
第4页 / 共80页
c语言实验报告实验一结构化设计方法1函数与简单程序设计_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《c语言实验报告实验一结构化设计方法1函数与简单程序设计》由会员分享,可在线阅读,更多相关《c语言实验报告实验一结构化设计方法1函数与简单程序设计(80页珍藏版)》请在金锄头文库上搜索。

1、学号:20130566147 姓名:黄雨晨 班级:13计转本 成绩: 实验一 结构化设计方法1(函数与简单程序设计)一、实验目的1熟悉C语言编译环境、能够新建、保存C源程序到指定位置。2. 在算法流程图的指引下能够编写简单的C程序。3.掌握程序代码编写格式要求,能够编写符合规范的C程序。4.初步掌握程序的调试方法和过程。5能够定义函数完成特定任务6. 能够明确函数调用和函数参数传递。二、实验内容及要求建立并保存C语言源程序到指定位置。(1)进入Visual C +6.0集成环境(2)新建一个源程序,把源程序文件存放在D:/c program 子目录下(3)程序的编译(4)程序的连接(5)程序的

2、执行2利用分支结构设计判断键盘某年份是否为闰年C函数。画出判断某年份为闰年的算法流程图和NS流程图。编写实现利用分支结构设计判断某年份是否为闰年的C语言程序。思考并编写利用if嵌套语句实现判断某年份是否为闰年的C语言程序。思考并练习使用逻辑表达式实现判断某年份是否为闰年的C语言函数。3. 利用上述函数定义输出指定区间闰年函数。4定义主函数调用相关函数实现从键盘输入一个年度区间,输出这期间的所有闰年。思考:如果输入的一个年度区间范围比较大,比如从100到2016,如何设置输出,才能在输出窗口显示所有符合闰年条件的年份?5编译程序,改正语法错误,做好出现的错误的整理和改正记录。6运行、调试程序,得

3、到正确结果。三:程序代码:#include using namespace std;void leap(int year)if(year%4=0&year%100!=0)|(year%400=0) /判断是否为闰年coutyeart;/如果是则输出int main() int x,y,z; coutz; leap(z);/调用函数 coutxy; for(x;x=y;x+) leap(x); return 0;四:运行结果以及分析:算法分析:根据题意,先定义一个leap函数,通过写条件语句来判断是否为闰年,判断年份是否能被4和100整除,如果可以就不是闰年或者判断年份是否能被400整除,如果可

4、以该年份也不是闰年。最后在主函数中通过调用定义的函数,可以输出该年份是否为闰年,在程序中输入年份区间,可以输出在输入区间中的所有闰年;算法流程图如下:NS流程图五:问答实验二结构化设计方法2(函数的递归)一、实验目的1掌握递归算法的设计思想。2. 用递归思想设计递归函数。3. 递归函数的分析。二、实验内容及要求1 定义一个求Fibonacii前20项的递归函数。(1) 了解什么是Fibonacii数列和Fibonacii数列的特点。(2) 了解递归函数的特点。(3) 理解函数调用的过程和函数的返回值。(4) 编写一个C语言程序使用递归函数输出Fibonacii数列的前20项。(5) 思考:如何

5、编程实现输出Fibonacii数列的任意20项?2在输出Fibonacii数列的前20项的同时输出前一项与后一项的比,比值选取保留小数点后6位。3观察结果,看看两项比的特征,这个两项比接近于什么?4. 根据各项的输出理解并分析递归函数的执行过程,思考能否不用递归实现该功能?5. 使用while语句、do.while语句和for语句三种循环控制方法实现该程序。6编译程序,改正语法错误,做好出现的错误的整理和改正记录。7运行、调试程序,得到正确结果。三:程序代码如下:/ Note:Your choice is C+ IDE#include using namespace std;int FIbon

6、acci(int x) /定义一个有返回值的函数if(x=1|x=2)return 1;elsereturn (FIbonacci(x-2)+FIbonacci(x-1);/递归方法实现fibonacciint main()int i;int num = 20;float pix;for(i=1;i=num;i+)pix=(float(FIbonacci(i)/float(FIbonacci(i+1);/调用函数coutFIbonacci(i)t;coutpixn;/while语句/*i=1;while(i=num)pix=(float(FIbonacci(i)/float(FIbonacci

7、(i+1);coutFIbonacci(i)t;coutpixn;i+;*/do-while 语句/*i=1;dopix=(float(FIbonacci(i)/float(FIbonacci(i+1);coutFIbonacci(i)t;coutpixn;i+;while(i=num);*/return 0;四:运行结果以及分析:算法分析:先定义一个Finonacci函数,当输入第一项或者第二项的时候输出返回的值1;否则的话就将第一项的值加上第二项的值,定义一个主函数,题目要求输出前20项的同时输出前一项与后一项的比,通过for循环将从第一项到第二十项调用上面的Finonacci函数并且将前

8、一项和后一项的比存到pix中,最后输出前20项的前一项与后一项的比,该程序还使用了while循环或者do-while循环来实现。五:问答1、 递归调用结束的条件?当if(x=1|x=2)的时候2、 while和do.while的区别?while是直接执行,do.while是先执行do然后执行while3、 while后面括号可不可以去掉?为什么?不可以去掉,如果去掉while后面的括号,就执行while后面的第一条语句。实验三 自定义数据类型应用一、实验目的1.掌握自定义数据类型的定义;2.掌握自定义数据类型变量的定义与使用;二、实验内容及要求1、定义一个等级枚举类型,其中元素包括A、B、C、

9、D、E五个等级,该等级是按照学生成绩的高低划分的。2、定义一个成绩共用体类型,在其中定义数值成绩、等级成绩两个成员变量。3、定义一个学生结构体类型,包含学号、姓名、班级和英语、数学、语文成绩,其中英语成绩为等级,其他成绩为数值。4、编程实现6个学生成绩信息的输入,并计算每个学生三门课的平均成绩(等级成绩按照A:90,B:80,C:70,D:60,E:0处理),并计算每门课的平均成绩。5、除了实现计算每个学生三门课的平均成绩和每门课的平均成绩,学生还需要根据自己对学生成绩管理系统的理解尽可能增加新的功能。(提示:“增加某个学生成绩”、“删除某个学生成绩”、“修改某个学生成绩”、“查找某个学生成绩

10、”等功能)要求:(1)利用结构体数组来存放6个学生的学号、姓名、班级和其三门课的成绩。(注意:英语等级成绩的输入可以是枚举元素对应的整数值,但不能将其直接赋予枚举变量)(2)每个功能由相应的函数实现,由主函数调用。(3)系统采用字符界面,在出现的主界面中按提示输入相应字符以选择相应功能而执行相应操作。(注意:当用户选择相应字符执行完毕相应功能后,系统重新展示主界面,直到用户选择结束字符程序才终止运行)三:程序代码如下:#include #include #include #define N 100using namespace std;enum grade/定义枚举类型A,B,C,D,E;un

11、ion score/定义共用体类型int numscore;enum grade gradescroe;struct student/定义结构体int stuid;char stuname20;char stuclass20;union score english,maths,chinese,average;float avg(char english,float maths,float chinese) /求平均分switch(english)case A:return (90+maths+chinese)/3;break;case B:return (80+maths+chinese)/3

12、;break;case C:return (70+maths+chinese)/3;break;case D:return (60+maths+chinese)/3;break;case E:return (maths+chinese)/3;break;default:return (maths+chinese)/3;break;void creatStu(struct student *stu,int number) /创建学生信息int i;float aveg;/输入学号、姓名、班级、英语、数学、语文、平均值cout请输入学号,姓名,班级,英语,数学,语文n;for(i=0;istui.

13、stuid;cinstui.stuname;cinstui.stuclass;/cinstui.english.gradescroe;cinch;if (ch = A)stui.english.gradescroe = A;if (ch = B)stui.english.gradescroe = B;if (ch = C)stui.english.gradescroe = C;if (ch = D)stui.english.gradescroe = D;if (ch = E)stui.english.gradescroe = E;cinstui.maths.numscore;cinstui.chinese.numscore;aveg=avg(stui.english.gradescroe,stui.maths.numscore,s

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号