实验项目二:函数

实验项目二:函数

ID:37096029

大小:5.34 MB

页数:17页

时间:2019-05-17

实验项目二:函数_第1页
实验项目二:函数_第2页
实验项目二:函数_第3页
实验项目二:函数_第4页
实验项目二:函数_第5页
资源描述:

《实验项目二:函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、姓名_题号”为名建立项目;例项目名为:2013050201_***_01)1.以下程序完成由键盘输入两个整数,求其最大值。请改正以下程序的错误。并上机调试。键盘输入:45,89(表示回车)输出结果:正确程序:2.阅读并分析下面的程序,并按要求改写程序。1)问题:(1)该程序的主要功能是什么?求两数中的最大数2)自定义函数fun1()实现该程序的功能,要求在主函数内实现数据的输入和输出,部分代码已经给出,请补充完整。#includeintfun1(intx,inty

3、){intmax;if(x>y)max=x;elsemax=y;return(max);}voidmain(){inta,b,max;printf("Pleaseenter2numbers:(a,b)");scanf("%d%d",&a,&b);max=fun1(a,b);printf("max=%d",max);}3.上机调试如下程序,记录系统给出的出错信息,指出出错原因并改正。错误信息:errorC2065:'power':undeclaredidentifiererrorC2065:'y

4、':undeclaredidentifiererrorC2448:'':function-styleinitializerappearstobeafunctiondefinition正确答案:4.分析题(1)写出程序输出结果;x=2,y=3x0=3,y0=13x=2,y=3x0=5,y0=15(2)分析自动变量的作用域及生存期;作用于fun7()函数里面,y从10到13再到15(3)分析静态变量的作用域及生存期。作用与fun7()函数里,从1到再到55.分析题(1)写出程序输出结

5、果;1:x=0y=02:x110y=1003:x=110y=100(2)分析外部变量的作用域和生存期;fun_x()函数中和fun_y函数中,x从0到110,y从0到100(3)extern的用处是什么?扩展外部变量的作用域6.下列程序的功能为:求整数n的阶乘。纠正程序中存在的错误,以实现其功能。正确答案:7.某数列为K(n)的定义为:用递归的方法求该数列的第6项k(6)。1n=1k(n)=k(n-1)×2n为偶数k(n-1)×3n为奇数8.计算s=(1!)+(1!+2!)+⋯+(1!+⋯+n!)

6、。n由用户输入,小于10。(设计:函数h1()计算阶乘;函数h2()计算每个数据项的累加运算。用函数的嵌套来做)9.编写函数fun(n),n为三位自然数,判断n是否为水仙花数,是返回1,否返回0。编写main函数,输入一个数num,调用fun(num)函数,并输出函数的返回值。10.用递归方法求Fibonacci数列前20项及其这20项的和11.编程求100—200之间的素数,该区间的数据从主函数中传出,由一个判别素数的函数进行判别后返回主函数输出。12.求两个整数的最大公约数和最小公倍数。1)不

7、用全局变量,分别用两个函数求最大公约数和最小公倍数。两整数在主函数中输入,传递给函数func1,以求出最小公倍数,然后再与两个整数一起作为实参传给函数func2,以求出最小公倍数,返回主函数输出最大公约数和最小公倍数。#includeintfun1(intx,inty){inti,t;if(x>y){for(i=2;i<=y;i++){if(x%i==0&&y%i==0)t=i;}}if(x<=y){for(i=2;i<=x;i++){if(x%i==0&&y%i==0)t=i;

8、}}returnt;}intfun2(intx,inty){intt,i;if(x>y){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==0&&i%y==0)t=i;break;}}returnt;}voidmain(){inta,b;scanf("%d%d",&a,&b);printf("最大公约数:%d",fun1(a,b));printf("最小公

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。