实验5 函数.docVIP

  • 25
  • 0
  • 约5千字
  • 约 11页
  • 2017-05-12 发布于河南
  • 举报
实验5 函数

南昌大学实验报告 学生姓名: 罗章才 学 号: 6100412195 专业班级: 电三125 实验类型:□ 验证□综合 设计 □ 创新 实验日期: 实验成绩: 一、实验名称 实验5 函数 二、实验目的 1.掌握函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法 2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法; 3.在编程过程中加深理解函数调用的程序设计思想。 二.实验内容 1.多模块的程序设计与调试的方法; 2.函数的定义和调用的方法; 3.用递归方法进行程序设计。 三.实验环境 PC微机 DOS操作系统或 Windows 操作系统 Turbo C 程序集成环境 四.实验内容 1.编primeNum(int num),它的功能是判别一个数是否为素数。如果num是素数,返回该数;否则返回0值。 要求: (1)在主函数输入一个整数num,调用该函数后,输出num是否是素数的信息。输出格式为:num is prime或num is not prime。 (2)分别输入以下数据:0,1,2,5,9,13,59,121,运行程序并检查结果是否正确。? 2.编写一个计算组合数的函数combinNum(int m,int n)。计算结果由函数返回。 c(m,n)=m!/(n!*(m-n)!) 要求: (1)从主函数输入m和n的值。对mn、mn和m=n 的情况作分别处理后调用函数combinNum(m,n),在主函数内输出结果值。 2)对mn、mn和m=n 的情况各取一组数据进行测试,检查程序的正确性。 3)修改程序, 3.已知,其中,为双曲正弦函数,即,编写一个程序,输入x的值,求y的值。 4.整数a,b的最大公约数是指既能被a整除又能被b整除的最大整数。整数a,b的最小公倍数是指既是a的倍数又是b的倍数的最小整数。编gcd()的功能是求两个整数的最大公约数,另一个函数mul()的功能是求两个整数的最小公倍数。 要求: (1)两个整数在主函数中输入,并在主函数中输出求得的最大公约数和最小公倍数。 (2)首先将两个整数a和b作为实参传递给函数gcd(),求出的最大公约数后,由函数gcd()带值返回主函数,然后将最大公约数与两个整数a、b一起作为实参传递给函数mul(),以此求出最小公倍数,再由函数mul()带值返回主函数。 (3)提示:求最大公约数一般采用辗转相除法(Euclid算法),方法如下:分别让变量m和n存储两个数的值(这里是a和b)。如果n为0,那么停止操作,m中的值就是最大公约数(GCD),否则计算m除以n的余数,把n保存到m中,并把余数保存到n中。然后重复上述过程,每次都先判断n是否为0. 五、实验数据及处理结果 习题一: 设计思路:利用素数只能被1和自身整除的性质,调用函数,对这个数进行从1到自身的挨个整除,求的它是否为素数。 数据需求: 需要输入这个数的值。 程序实现: #includeiostream using namespace std; int primeNum(int num);\\函数声明。 void main() { int i,num; coutplease input a num:; cinnum; i=primeNum(num); if(i==0)\\判断该数 coutnumis not a prime; else coutnumis a prime; } int primeNum(int num) { int n,m; if(num==1);\\1不是素数 m=0; for(n=2;nnum;n++) { if(num%n==0) m=0; break;\\若该数被整除,则不是素数 } if(n=num) m=num;\\该数值能被自身整除,是素数 else m=0; return(m); } 程序测试: 习题二: 算法设计: 利用组合数然后利用题目一给的公式的计算公式,编写函数实现计算一个数的阶乘,然后利用题目一给的公式,求得结果。 程序实现: #includeiostream using namespace std; int combinNum(int m,int n); void main() { int m,n,c; coutplease input m and n:; cinm; cinn; if

文档评论(0)

1亿VIP精品文档

相关文档