C语言实验报告

实验七 模块化程序设计(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=60) ave++; printf(\科目%d:%.2f\\t\} } void hight(float a[][M]) { int i,j,stu=0,sub=0; float t=a[0][0]; for(i=0;i

38

} } 39

程 序 调 试 过 程 实 习 小 结 40

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4