实验项目二:函数

上传人:n**** 文档编号:88920220 上传时间:2019-05-13 格式:DOC 页数:17 大小:734KB
返回 下载 相关 举报
实验项目二:函数_第1页
第1页 / 共17页
实验项目二:函数_第2页
第2页 / 共17页
实验项目二:函数_第3页
第3页 / 共17页
实验项目二:函数_第4页
第4页 / 共17页
实验项目二:函数_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《实验项目二:函数》由会员分享,可在线阅读,更多相关《实验项目二:函数(17页珍藏版)》请在金锄头文库上搜索。

1、计算机程序设计基础II实验报告实验项目二:函数学号1705121423姓名魏展鹏专业、班级计算机14班实验时间实验地点机房6指导教师吕涛一、实验目的及要求(1) 掌握函数的定义方法、调用方法、参数说明以及返回值; (2) 掌握实参与形参的对应关系,以及参数之间的“值传递”的方式;(3) 掌握函数的嵌套调用及递归调用的用的设计方法;(4) 在编程过程中加深理解函数调用的程序设计思想。二、实验设备(环境)及要求使用Visual C+ 6.0;windows系列操作系统的环境。三、实验内容与步骤(要求以“学号_姓名_题号”为名建立项目;例项目名为:2013050201_*_01)1 以下程序完成由键

2、盘输入两个整数,求其最大值。请改正以下程序的错误。并上机调试。 键盘输入:45,89(表示回车) 输出结果: 正确程序:2 阅读并分析下面的程序,并按要求改写程序。1)问题:(1)该程序的主要功能是什么? 求两数中的最大数2)自定义函数fun1()实现该程序的功能,要求在主函数内实现数据的输入和输出,部分代码已经给出,请补充完整。#include int fun1(int x,int y)int max;if(xy)max=x;elsemax=y;return(max);void main()int a,b,max;printf(Please enter 2 numbers:(a,b);sca

3、nf(%d%d,&a,&b);max=fun1(a,b);printf(max=%dn,max);3 上机调试如下程序, 记录系统给出的出错信息,指出出错原因并改正。错误信息:error C2065: power : undeclared identifier error C2065: y : undeclared identifier error C2448: : function-style initializer appears to be a function definition正确答案:4 分析题(1) 写出程序输出结果; x=2,y=3x0=3,y0=13x=2,y=3x0=5,

4、y0=15 (2) 分析自动变量的作用域及生存期;作用于fun7()函数里面,y从10到13再到15 (3) 分析静态变量的作用域及生存期。 作用与fun7()函数里,从1到再到5 5 分析题(1) 写出程序输出结果;1:x=0 y=0 2:x110 y=100 3:x=110 y=100(2) 分析外部变量的作用域和生存期;fun_x()函数中和fun_y函数中,x从0到110,y从0到100 (3) extern的用处是什么?扩展外部变量的作用域6 下列程序的功能为:求整数n的阶乘。纠正程序中存在的错误,以实现其功能。 正确答案:7 某数列为K(n)的定义为:用递归的方法求该数列的第6项k

5、(6)。 1 n=1 k(n)= k(n-1)2 n为偶数 k(n-1)3 n为奇数 8 计算s=(1!)+(1!+2!)+(1!+n!)。 n由用户输入,小于10。(设计:函数h1()计算阶乘;函数h2()计算每个数据项的累加运算。用函数的嵌套来做)9 编写函数fun(n),n为三位自然数,判断n是否为水仙花数,是返回1,否返回0。编写main函数,输入一个数num,调用fun(num)函数,并输出函数的返回值。10 用递归方法求 Fibonacci数列前 20 项及其这20项的和11 编程求100200之间的素数,该区间的数据从主函数中传出,由一个判别素数的函数进行判别后返回主函数输出。1

6、2 求两个整数的最大公约数和最小公倍数。1)不用全局变量,分别用两个函数求最大公约数和最小公倍数。两整数在主函数中输入,传递给函数func1,以求出最小公倍数,然后再与两个整数一起作为实参传给函数func2,以求出最小公倍数,返回主函数输出最大公约数和最小公倍数。#include int fun1(int x,int y)int i,t;if(xy)for(i=2;i=y;i+)if(x%i=0&y%i=0)t=i;if(x=y)for(i=2;iy)for(i=x;i=x*y;i+)if(i%x=0&i%y=0)t=i;break;if(x=y)for(i=y;i=x*y;i+)if(i%x

7、=0&i%y=0)t=i;break;return t;void main()int a,b;scanf(%d%d,&a,&b);printf(最大公约数:%dn,fun1(a,b);printf(最小公倍数:%dn,fun2(a,b);(2)用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最小公倍数和最大公约数都设为全局变量,在主函数输出他们的值#include int a,b,c,d;int fun1(int x,int y)int i;x=a,y=b;if(xy)for(i=2;i=y;i+)if(x%i=0&y%i=0)c=i;if(x=y)for(i=

8、2;iy)for(i=x;i=x*y;i+)if(i%x=0&i%y=0)d=i;break;if(x=y)for(i=y;i=x*y;i+)if(i%x=0&i%y=0)d=i;break;return 0;void main()scanf(%d%d,&a,&b);fun1(a,b);printf(最大公约数:%dn,c);fun2(a,b);printf(最小公倍数:%dn,d);13 编写函数求x1+ x2+ x3+xn14 设计菜单程序,可将所做的习题和上述实验集中在一个程序中。例如,运行后首先在屏幕显示如下菜单,当输入数值1后,调用素数判断的函数程序;输入数值2后, 调用完全平方数的函数程序;输入数值3后,调用求最大公约数的函数程序;输入数值4后,调用Fibonacci数列的递归函数程序;输入数值5后结束程序。 * * Menu section * * 1. 素数判断 * * 2. 求“水仙花”数 * 3. 求最大公约数 * * 4. 斐波那契数列 * * 5. Exit * 四、分析与讨论对上机实践结果进行分析,上机的心得体会。五、教师评语签名:日期:成绩

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

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