问答题 1.  数组point中存放着m个人的成绩,请编写函数fun(),它的功能是:返回高于平均分的人数,并将高于平均分的分数放在high所指的数组中。
    例如,当point数组中的数据为50,60,65,70,75,80,88,90,95时,函数返回的人数应该是5,high中的数据应为75,80,88,90,95。
    请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。
    注意:部分源程序如下。
    试题程序:
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    int fun(int point[],int n,int high[])
    {
    }
    main()
    {
    int j,m,high[9];
    int point[9]={50,60,65,70,75,80,88,90,95};
    m=fun(point,9,high);
    printf("\npersonNum:%d",m);
    printf("\nHigh the average point are:");
    for(j=0;j<m;j++)
    {
    printf("%d",high[j]);
    }
    printf("\n");
    }
【正确答案】int fun(int point[],int n,int high[])
   {
   int j,k=0,average=0;
   for(j=0;j<n;j++)
   average+=point[j];//统计总分数
   average/=n;//求平均分
   for(j=0;j<n;j++)
   if(point[j]>average)//逐个判断每个分数是否大于平均分
   {  high[k]=point[j];  //将高于平均分的人放入数组high
   k++;  //统计大于平均分的人数
   }
   return k;
   }
【答案解析】 (1)该程序功能是返回高于平均分的人数。它的解题思路可以分解为以下几步:求总分→求平均分→元素逐个与平均分比较→统计高于平均分的人数。
   (2)从已给部分源程序的main()函数入手,核心函数fun(point,9,high)中的参数由题目可知,point存放着m个人的成绩,high存放着高于平均分的分数。另外,根据point的定义,可知9为point数组中元素的个数,它被传给函数fun()中的参数n。