给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。 例如,若输入8名学生的成绩: 80.5 60 72 90.5 98 51.5

admin2017-02-27  16

问题 给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。
    例如,若输入8名学生的成绩:
80.5  60  72  90.5  98  51.5  88  64
    则低于平均分的学生人数为:4(平均分为:75.5625)。
    请改正程序中的错误,使它能统计出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#define N 20
int fun (float *s,int n,float
*aver)
{ float ave,t =0.0 ;
  int count = 0,k,i ;
    t = s[k];
  ave — t / n ;
   if (s < ave) count++ ;
  *aver = Ave ;
   return count ;
}
main ()
{ float s[30],aver ;
   int m,i ;
   printf  ("\nPlease enter m:  ") ;
scanf   ( " %d",  &m) ;
   printf ("\nPlease enter %d mark:
  for(i = 0 ; i < m ; i++) scanf
    printf ("\nThe   number    of
students:  %d  \n", fun  (s, m.
    printf (t’Ave  =  %f\n", aver) ;
}

选项

答案(1)t+=s[k]; (2) *aver=ave;

解析 程序功能是统计出低于平均分的学生人数。
(1)根据题目要求求出平均分,首先要求总分,要把所有学生成绩相加再求平均分,因此第一个标识下面的“t=s[k];”应改为“t+=s[k];”。
(2)根据题目可知,比较的结果中低于平均分的分数ave放入指针aver所指的地址单元中,而变量Ave没有定义,因此第二标识下应将“*aver= Ave; ”改为“*aveFave,”。
转载请注明原文地址:https://jikaoti.com/ti/4VkiFFFM
0

相关试题推荐
随机试题
最新回复(0)