实验6函数.doc_第1页
实验6函数.doc_第2页
实验6函数.doc_第3页
实验6函数.doc_第4页
免费预览已结束,剩余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);void main()int n; printf( Please Input n:); scanf(%d,&n); 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;in;i+) if(n%i=0&prim(i)=1) printf(%d ,i): /*prim()函数的调用*/void main()int n; printf(Please input n:); scanf(%d,&n);printf(prim factor is :n);factor(n); /*factor()函数的调用*/ (3)编写一程序,用一个sort函数实现对10个数的奇数位上的数据进行从大到小排.数组的输入在主函数中输入,排完序的结果在主函数中输出,在主函数中实现对sort函数进行调用.如输入:1 2 3 4 5 6 7 8 9 10则排完序的结果为:9 2 7 4 5 6 3 8 1 10#include #include void sort(int a, int n ) /*选择排序算法排序*/int i,j,t;for(i=0;in-1;i=i+2) for(j=i+2;jn;j=j+2) if(aiaj) t=ai;ai=aj;aj=t;void main()int a10,i;printf(Input array a:);for(i=0;i10;i+)scanf(%d, &ai);sort(a,10); /*sort()函数的调用*/printf(the sorted array:);for(i=0;i10;i+)printf(%4d,ai);printf(n); (4)编写一程序,将字符串str中的指定字符删除#include void 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);三、实验内容( 按要求设计以下程序,并调试分析运行结果 ,此部分完成在实验报告上)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,&n);s=fun(n);printf(nns=%fn,s);2.(sy7-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 number:n);scanf(%d,&x);fun(x,aa,&n);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 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、实验报告正文要求:实验目的:(抄

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论