版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育法规模拟考试试卷A卷含答案
- 中国消费者食品添加剂认知调查报告 2023
- 2024年数控高精度内外圆磨床项目资金申请报告代可行性研究报告
- 2024年xx村10月驻村工作总结
- 二年级数学(上)计算题专项练习
- 2024年度影视制作费用协议范本
- 第七届进博会隆重开幕感悟心得
- 2024年商业广告承揽协议规范格式
- 2024年产蜜蜂购买协议
- 2024年零星建筑施工项目协议范本
- 采购主管岗位招聘笔试题与参考答案(某大型国企)2024年
- 短视频运营及带货逻辑课件
- 2024年中国陶茶具市场调查研究报告
- 2022年江苏省普通高中学业水平测试生物试卷
- 第4章 跨境电商选品与定价
- 《介绍教室》(教案)-2024-2025学年一年级上册数学北师大版
- 2024年检察院招录书记员考试法律基础知识及答案
- 《犯罪心理学(马皑第3版)》章后复习思考题及答案
- 青骄第二课堂2021年禁毒知识答题期末考试答案(初中组)
- 2024-2030年中国射频芯片行业市场发展趋势与前景展望战略分析报告
- 华电线上测评
评论
0/150
提交评论