文档介绍:实验报告——实验七实验名称:函数实验目的:掌握定义函数的方法。掌握函数实参与形参的对应关系及“值传递”的方式。掌握函数的嵌套调用和递归调用的方法。掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。学习对多文件程序的编译和运行。实验内容:输入程序并运行:#defineMAX10inta[MAX],i;#include""intmain(){printfC'n”);subl();sub3(a);sub2();sub3(a);return(O);)sub2(){inta[MAX],i,max;max=5;for(i=0;i<max;i++)a[i]=i;}sub1()(for(i=0;i<MAX;i++)a[i]=i+i;}sub3(){inti;for(i=0;i<MAX;i++)printf(,,%4d,,,a[i]);printf(”\n”);}运行该程序:编辑完成后按F2保存源程序,然后再按F9键完成一次编译和连接,显示无警告无错误,按任意键返回。按ctrl+F9运行,再按alt+F5显示结果为024681012141618024681012141618(分析:本程序中运用了函数的定义和调用,定义函数时要注意制定函数的名称、类型,函数的参数的名字和类型,还要了解函数的功能。期外,我们还需要了解函数的调用形式如木稈序屮的“sun2();”就不要求函数带冋值,貝要求函数完成一定的操作。还应注意的是对全局变量和局部变量的理解,如木程序稈序开始时“inta[MAX],i;”是定义全局变量“a[MAX],i”,而“sub2(){inta[MAX],i,max;”则是定义了局部变量“[MAX],i”J(2)在主函数屮输入一学生10门课成绩,用字函数实现求10门课的平均值,同时输出该平均值。#include<>floataveragefintstu[]);voidmain(){intscoref10],i;floatav;printf(,rInput10scores:\nn);for(i=0;i<10;i++)scanf("%d",&score[i]);av=average(score);printf(HAverageis:%.2f",av);}floataveragefintstu[]){inti;floatav,total=0;for(i=0;i<10;i++)total+=stu[i];av=total/10;return(av);}运行该程序:编辑完成后按F2保存源程序,然后再按F9键完成一次编译和连接,显示无警告无错误,按任意键返回。按ctrl+F9运行,输入12233445566778655443,回车,再按alt+。修改函数,可实现任意n门课成绩的平均值并输出。#include<>floataverage(intstu[],intn);voidmain(){intscore[10],i;floatav;printf(HInputnscores:\nH);for(i=0;i<10;i++)scanf("%d",&score[i]);av=average(score,8);printf(HAverageis:%.2f",av);}floataverage(intstu[],in