《程序设计》 cs. stu20119 数组作为函数的参数 设计一函数,统计10位同学的平均成绩 冷设计考虑:如何传递参数 >参数是10位同学的考试成绩,可以用10个整型数 来表示。所以有10个整型的形式参数 组同类数据可以用一个数组来描述,所以参数 也可以是一个10个元素的整型数组 >第二种方法更加简练 >返回值是平均成绩 程序设计21
《程序设计》 cs.sjtu 2011.9 程序设计 - 21 数组作为函数的参数 ❖ 设计一函数,统计10位同学的平均成绩 ❖ 设计考虑:如何传递参数 ➢ 参数是10位同学的考试成绩,可以用10个整型数 来表示。所以有10个整型的形式参数 ➢ 一组同类数据可以用一个数组来描述,所以参数 也可以是一个10个元素的整型数组 ➢ 第二种方法更加简练 ➢ 返回值是平均成绩
《程序设计》 cs.stu20119 统计函数的实现 int average(int arrayl10D i int i, sum=0 for (i=0; i<10; ++i) sum+=array; return sum/10 程序设计22
《程序设计》 cs.sjtu 2011.9 程序设计 - 22 统计函数的实现 int average(int array[10]) { int i, sum = 0; for (i = 0; i < 10; ++i) sum += array[i]; return sum / 10; }
《程序设计》 cs.stu20119 averagel函数的使用 Int main (0 i int i, score 10; cout<<"请输入10个成绩:"<endl; for(i=0;i< 10; i++) cin > scorei cou<<"平均成绩是:"< average( score) endl: 注意:形式参数是 return U; 数组,实际参数也 是一个数组 程序设计
《程序设计》 cs.sjtu 2011.9 程序设计 - 23 average函数的使用 int main() { int i, score[10]; cout << "请输入10个成绩:" << endl; for ( i = 0; i < 10; i++) cin >> score[i]; cout << "平均成绩是:" << average(score) << endl; return 0; } 注意:形式参数是 数组,实际参数也 是一个数组
《程序设计》 cs.stu20119 个有趣的现象 冷在函数 average的 return语句前增加一个对 array3赋值的语句,如 array3=90。 冷在main函数的 average函数调用后,即 return语句前增加一个输出 scorel3的语句 冷结果是什么??? 冷你会发现输出的值90而不是80。 程序设计
《程序设计》 cs.sjtu 2011.9 程序设计 - 24 一个有趣的现象 ❖ 在函数average的return语句前增加一个对 array[3]赋值的语句,如array[3] = 90。 ❖ 在main函数的average函数调用后,即 return语句前增加一个输出score[3]的语句 ❖ 结果是什么??? ❖ 你会发现输出的值90而不是80
《程序设计》 cs.stu20119 数组参数的传递机制 C++语言规定,数组名是数组的起始地址 冷参数传递时,实际参数是数组名,形式参数也是数 组名 冷按照值传递,当用实际参数 score调用函数 average 时,是用 Score初始化形式参数数组aray。如 score的首地址为1000在函数中形参数组ar 首地址也为1000 冷形式参数和实际参数是同一数组!!! 程序设计-25
《程序设计》 cs.sjtu 2011.9 程序设计 - 25 数组参数的传递机制 ❖ C++语言规定,数组名是数组的起始地址 ❖ 参数传递时,实际参数是数组名,形式参数也是数 组名 ❖ 按照值传递,当用实际参数score调用函数 average 时,是用score 初始化形式参数数组array。如 score 的首地址为1000,在函数中形参数组array的 首地址也为1000。 ❖ 形式参数和实际参数是同一数组!!!