1、实验六 函 数一实验目的与要求1. 掌握函数定义,函数声明,函数调用的方法2. 领会函数调用时实参与形参的对应关系,以及主,被调函数之间的数据传递方式.3. 掌握函数的嵌套调用与递归调用的方法.4. 理解变量的作用域,生存期的概念,掌握不同存储类别的变量特点及使用规则二实验范例,熟悉下列程序,并掌握算法。(1) 设计一个递归函数,计算 e 的 n 次方( 递归调用)#include #define e 2.143double power(int n) /*power()函数的定义 */ double f;if(n=0) f=1;else f=e*power(n-1);return(f);voi
2、d main() int n;printf(“ Please Input n:“);scanf(“%d“,printf(“the result is %lfn“,power(n); /*power()函数的调用*/ (2)设计一个 prim( )函数,输出整数 n 的所有素数因子.( 嵌套调用)#include # include int prim(int n) int i;for(i=2;i=n) return 1;else return 0;void factor(int n)( int i;for(i=2;i#include void sort(int a, int n ) /*选择排序
3、算法排序*/int i,j,t;for(i=0;ivoid delet(char str,char c) int i,j=0;for(i=0;stri!=0;i+)if(stri!=c) strj+=stri;strj=0;void main() char str100,c;printf(“Please inpute a string:“);gets(str);printf(“Please inpute a character:“);c=getchar();delet(str,c);printf(“nAfter delete c:n“);puts(str);三、实验内容( 按要求设计以下程序,
4、并调试分析运行结果 ,此部分完成在实验报告上)1.(sy7-1.c)请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5 或9 整除的所有自然数的倒数之和。例如,若主函数从键盘给n 输入20后,则输出为s=0.853333。注意:n 的值要求不大于100。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include double fun(int n)void main() int n;double s;printf(“nInput n: “);scanf(“%d“,s=fun(n);printf(“nns=%fn“,s);2.(sy7
5、-2.c)请编写函数void fun(int x,int pp,int *n),它的功能是:求出能整除x 且不是偶数的各整数,并按从小到大的顺序放在 pp所指的数组中,这些除数的个数通过形参 n返回.例如,若x中的值为 30,则有 4个数符合要求,它们是 1,3,5,15.注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include void fun(int x, int pp, int *n)void main()int x, aa1000, n, i;printf(“nPlease enter an integer
6、number:n“);scanf(“%d“,fun(x,aa,for(i=0;in;i+)printf(“%d “, aai);printf(“n“);3.(sy7-3.c)请编写函数void fun(int a, int b, long *c ),起功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。合并的方式是:将a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。例如,当a=45,b=12,调用该函数后,c=5241。请编写完整的程序(包括主程序和调用函数)。4.(sy7-4.c)请编写函数void fun(int sN,int
7、b,int *n) ,该函数的功能是;将M 行N 列的二维数组中的数据,按列的顺序依次放到一维数组中。一维数组中的个数存放在形参n所指的存储单元中。例如,若二维数组中的数据为:33 33 33 3344 44 44 4455 55 55 55则一维数组中的内容应是:33 44 55 33 44 55 33 44 55 33 44 55请编写完整的程序(包括主程序和调用函数)。四、实验要求:“实验内容”中的任务要求在实验课上完成,若未完成请在下次上课前利用课外时间完成。五、实验报告填写要求:1、第一页用攀枝花学院实验报告纸,其后用实验报告附页纸。2、第一页填写项目:实验课程:计算机基础 2-C 语言 实验项目: 本次实验名称 实验日期:本次实验日期系: 班级: 姓名: 学号:指导教师:3、实验报告正文要求:实验目的:(抄写本次实验目的)实验仪器设备:PC 机一套实验步骤(内容):(要求完成以上第三部分内容,编程题要求抄写题目并写出程序源代码,并记录程序的运行结果)实验结论:(分析通过本次实验掌握的知识或是还有什么遗留问题)4、实验报告写好后将完成的实验报告纸订(或粘)在一起,于下一次上课前交给指导老师。