实验七 模块化程序设计(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