问答题
改错题 下列给定程序中,函数fun()的功能是:从n个学生的成绩中统计出高于平均分的学生人数,人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩: 85 65.5 69 95.5 87 55 62.5 75 则高于平均分的学生人数为4(平均分为74.312500)。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include
#include
#define N 20 int fun(float *s, int n,float *aver) { /**********************found***********************/ int ave ,t=0; int count=0,k,i; for(k=0;k
【正确答案】
(1)错误:int ave ,t=0; 正确:float ave ,t=0.0; (2)错误:if(s[i]
ave) (3)错误:aver=ave; 正确:*aver=ave;
【答案解析】
错误1:ave和t分别用来存放成绩的平均值和总分,应为实型数。 错误2:根据题意,找出高于平均分的数,所以此处的关系运算符应为">" 错误3:aver是指针,而ave是一个数,不能将一个数赋值给一个指针,而要用符号'*'。
提交答案
关闭