实验七 模块化程序设计(2)
【实验目的】
1.进一步熟悉函数之间的数据传递方式,熟练掌握函数的嵌套调用与递归调用的方法。 2.掌握通过数组进行数据传递的方法。
【上机实习指导】
1.对以下程序进行单步运行,并从中了解数组作为函数的参数是如何进行数据传递? # include \
void change(int a[],int n) { int i,j,t;
for(i=0,j=n-1;i t=a[i]; a[i]=a[j]; a[j]=t; } } void main( ) { int i,b[10]; for(i=0;i<10;i++) scanf(\ printf(\ for(i=0;i<10;i++) printf(\ printf(\ change(b,10); printf(\ for(i=0;i<10;i++) printf(\ printf(\ getchar(); getchar(); } 【自编程序上机】 1.编写函数,将n个整数的数列进行重新排放,重新排放后的结果为:前段都是奇数,后段都是偶数,并编写主函数完成:①输入10个整数;②调用此函数进行重排;③输出重排后的结果。 2.输入10个学生4门课的成绩,分别用函数求: ①每个学生的平均成绩; ②每门课的及格率; ③最高分所对应的学生和课程。 36 【实验报告】 实习时间: 实习地点: 实习机号: 1. #include \ void main() { int a[10],b[10],c[10]; int i,bcount=0,ccount=0; printf(\ for(i=0;i<10;i++) scanf(\ for(i=0;i<10;i++) { if(a[i]%2==0) {b[bcount]=a[i];bcount++;} else {c[ccount]=a[i];ccount++;} 具 } printf(\体 for(i=0;i 37 printf(\学生%d:%.2f\\t\printf(\return stu; } } void aver(float a[][M]) { int i,j; float ave; printf(\每科的平均分:\\n\for(i=0;i 38 } } 39 程 序 调 试 过 程 实 习 小 结 40