版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C语言》实验报告PAGE6-一、实验题目:实验五函数的应用二、实验目的:1.进一步掌握函数的定义方法、调用方法,实参与形参的对应关系,以及调用函数的执行过程。2.掌握函数的嵌套调用、递归调用、数组作为函数参数的设计方法。3.进一步理解变量的作用域和生存期。三、实验内容:1.定义一个求阶乘的递归调用函数doublefac(intn),在主函数中调用3次该函数分别求出8!、10!、18!的准确值(结果:8!=40320,10!=3628800,18!=6402373705728000)。编写源程序,给出注释及运行结果。(提示,请参阅教材上174页例8.7的程序)。#include<stdio.h>/*包含头文件*/voidmain()/*空类型主函数*/{ doublefac(intn);/*声明函数fac(intn)*/ inta,b,c;/*定义整型变量a,b,c*/ doublex,y,z;/*定义double型变量x,y,z*/ a=8;/*将8赋给a*/ b=10;/*将10赋给b*/ c=18;/*将18赋给c*/ x=fac(a);/*将fac(a)赋给x*/ y=fac(b);/*将fac(b)赋给y*/ z=fac(c);/*将fac(c)赋给z*/ printf("%d!=%.0lf\n%d!=%.0lf\n%d!=%.0lf\n",a,x,b,y,c,z);/*标准输出函数输出a,x,b,y,c,z的值*/ } doublefac(intn)/*定义函数fac(intn)*/ { doublef;/*定义double型变量f*/ if(n==0||n==1)/*如果n等于0或n等于1*/ f=1;/*将1赋给f*/ else/*否则*/f=fac(n-1)*n;/*将函数值赋给f*/ return(f);/*返回f的值*/ }2.编写一个将n个整数用选择法按由小到大的顺序排序的函数voidsort(intarray[],intn),在主函数中调用两次该函数,对任给出个数分别是10和15的两组整数进行排序。编写源程序,给出注释及运行结果。(提示,请参阅教材上181页例8.13的程序)。#include<stdio.h>/*包含头文件*/voidmain()/*空类型主函数*/{ voidsort(intarray[],intn);/*声明空类型函数sort(intarray[],intn)*/ inta[10],b[15],i,j;/*定义整形数组a[],b[]长度分别为10,15,定义整形变量i,j*/ printf("enterthearraya:\n");/*标准输出函数输出enterthearraya:*/ for(i=0;i<10;i++)/*当i等于1,i小于10时,i自加一,并执行下面循环*/ scanf("%d",&a[i]);/*标准输入函数以十进制输入数组a[i]的元素*/ sort(a,10);/*将长度为10的实参数组赋给形参数组a,调用函数,进行计算*/ printf("thesortedarray:\n");/*标准输出函数输出thesortedarray:*/ for(i=0;i<10;i++)/*当i等于1,i小于10时,i自加一,并执行下面循环*/ printf("%5d",a[i]);/*标准输出函数输出数组a[i]*/ printf("\n");/*标准输出函数输出换行*/ printf("enterthearrayb:\n");/*标准输出函数输出enterthearrayb:*/ for(j=0;j<15;j++)/*当j等于1,j小于15时,j自加一,并执行下面循环*/ scanf("%d",&b[j]);/*标准输入函数以十进制输入数组b[j]的元素*/ sort(b,15);/*将长度为15的实参数组赋给形参数组b,调用函数,进行计算*/ printf("thesortedarray:\n");/*标准输出函数输出thesortedarray:*/ for(j=0;j<15;j++)/*当j等于1,j小于15时,j自加一,并执行下面循环*/ printf("%5d",b[j]);*标准输出函数以十进制形式输出数组b[j]*/ printf("\n");/*标准输出函数输出换行*/ } voidsort(intarray[],intn)/*定义空类型函数sort(intarray[],intn)*/ { intc,d,e,f;/*定义整型变量c,d,e,f*/ for(c=0;c<n-1;c++)/*当c等于0,且小于n-1时,c自加一,执行下面循环*/ { e=c;/*将c赋给e*/ for(d=c+1;d<n;d++)/*当d=c+1且小于n时,d自加一,进行循环*/ if(array[d]<array[e])/*如果array[d]小于array[e]*/ e=d;/*则将d赋给e*/ f=array[e];/*将array[e]赋给f*/array[e]=array[c];/*将array[c]赋给array[e]*/array[c]=f;/*将f赋给array[c],实现由小到大的排列*/ } } 3.编写一个求3个学生的各科平均成绩的程序,每个学生有4科成绩,学生成绩存放在a数组中,求平均成绩需调用函数voidaver(floatarray[][4],intn),n为学生数,其中a数组的矩阵表示为。编写源程序,给出注释及运行结果,自己试着增加学生数或者成绩科数再运行程序。(提示,可参阅教材183页例8.14的程序,注意按科平均成绩可存入数组A中,只需将A增加1行并先付初值0,求出平均值之后替换0)1、#include<stdio.h>/*包含头文件*/voidmain()/*空类型主函数*/{ voidaver(floatarray[][4]);/*声明空类型函数aver(floatarray[][4])*/ inti;/*定义整型变量i*/ floata[4][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};/*对浮点型数组进行赋值*/ printf("theaverageis:\n");/*标准输出函数输出theaverageis*/ aver(a);/*将实参数组地址赋给形参数组,调用函数。*/ for(i=0;i<4;i++)/*当i等于0并小于4时,i自加一,执行循环*/ printf("%.2f",a[3][i]);/*标准输出函数输出数组a*/ printf("\n");/*标准输出函数输出换行*/} voidaver(floatarray[][4])/*定义空类型函数aver(floatarray[][4])*/ { inti;/*定义整型变量i*/ for(i=0;i<4;i++)/*当i等于0并小于4时,i自加一,执行循环*/ array[3][i]=(array[0][i]+array[1][i]+array[2][i])/3;/*按列求平均值并赋给最后一行*/ }2、#include<stdio.h>/*包含头文件*/voidmain()/*空类型主函数*/{ voidaver(floatarray[6][4]);/*声明空类型函数aver(floatarray[][4])*/ inti;/*定义整型变量i*/ floata[6][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98},{78,88,98,64},{55,100,87,96}};/*对浮点型数组进行赋值*/ printf("theaverageis:\n");/*标准输出函数输出theaverageis*/ aver(a);/*将实参数组地址赋给形参数组,调用函数。*/ for(i=0;i<4;i++)/*当i等于0并小于4时,i自加一,执行循环*/ printf("%.2f",a[5][i]);/*标准输出函数输出数组a*/ printf("\n");/*标准输出函数输出换行*/} voidaver(floatarray[6][4])/*定义空类型函数aver(floatarray[6][4])*/ { inti;/*定义整型变量i*/ for(i=0;i<4;i++)/*当i等于0并小于4时,i自加一,执行循环*/ array[5][i]=(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双方自愿离婚协议书七篇
- 二人合伙协议书2025
- 自发性多汗症病因介绍
- 广东省佛山市南海区、三水区2023-2024学年九年级上学期期末数学试题
- 《电机技术应用》课件 3.3.3 直流电机的制动
- (立项备案方案)压制封头项目立项申请报告
- (2024)欢乐世界旅游开发项目可行性研究报告申请备案编制(一)
- 2023年天津市高考语文模拟试卷
- 江苏省盐城市建湖县汉开书院学校2023-2024学年七年级上学期第二次月考道德与法治试题(原卷版)-A4
- 2023年乙烯冷箱产品项目融资计划书
- 反间谍主题班会
- 残联内部审计计划方案
- 特种设备培训计划及方案
- 财务机构代理出口退税合同范本
- (高鸿业)微观经济学习题解析+微观经济学题库解析
- 2024年北京北师大实验中学初三(上)期中物理试题及答案
- 2025年中国资管行业市场全景评估及未来投资趋势预测报告(智研咨询)
- 2024-2030年中国漫画行业发展趋势与投资战略研究研究报告
- 2024年大学生安全知识竞赛题库及答案(共190题)
- 吊装作业施工方案
- 购货者资格审核制度
评论
0/150
提交评论